修复剪贴板功能异常的问题

This commit is contained in:
2026-06-30 10:28:57 +08:00
parent aee8e6527f
commit f7e489e924
3 changed files with 18 additions and 1 deletions
+2 -1
View File
@@ -158,9 +158,10 @@ namespace XericUI.XTable.Core
}
}
// 合并信息
// 合并信息——先清除再重建,防止残留描述干扰
if (Merges != null)
{
td.ClearAllMerges();
foreach (var merge in Merges)
{
if (merge.RowSpan > 1 || merge.ColSpan > 1)
+12
View File
@@ -284,6 +284,18 @@ namespace XericUI.XTable.Core
return newDesc;
}
/// <summary>
/// 清除所有块的全部合并描述
/// </summary>
public void ClearAllMerges()
{
foreach (var kv in BlockMap)
{
if (kv.Value.MergeDescriptors != null)
kv.Value.MergeDescriptors.Clear();
}
}
/// <summary>
/// 取消指定坐标所在合并——同时处理"点击源坐标"和"点击被合并坐标"两种情况。
/// 遍历所有块,移除所有指向该源的合并描述。
@@ -777,6 +777,10 @@ namespace XericUI.XTable.Rendering.Component
{
if (data == null) return;
// 确保数据层存在
if (m_TableData == null)
m_TableData = new XTableData();
// 应用尺寸与默认命名空间
if (data.RowHeights != null && data.RowHeights.Length > 0)
m_RowHeights = data.RowHeights;