WPF 列表视图排序会丢失最后一行中的列数据
本文关键字:一行 数据 排序 视图 列表 最后 WPF | 更新日期: 2023-09-27 18:33:50
我在对 WPF 列表视图 ColHeader 进行排序时遇到了奇怪的行为!!我有一个绑定到数据表的列表视图。列具有单元格模板。
在其中一个单元格模板 [薪水列] 中,我在 xaml 中具有多重绑定。当此列表视图加载数据时,一切正常。
我分别更改了每行中工资列的数值,例如 1,4,3,5,2。
即,在第一行中,工资列是 1,第二行,工资列是4,第三排工资列是3,以此类推。
当我单击工资标题列进行排序时,ListView 正在排序,但工资文本框中最后一个键入的值 [即此处为 2] 消失!!
ICollectionView myview = CollectionViewSource.GetDefaultView(lv.ItemsSource);
if (myview != null)
{
myview.SortDescriptions.Clear();
SortDescription sd = new SortDescription("Salary", direction);
myview.SortDescriptions.Add(sd);
myview.Refresh();
}
当我在添加排序描述后检查 myview 时,最后一行的薪水值消失了!!有什么问题吗???
我可以根据您的
描述推测正在发生的事情,但显示数据表的 xaml 会很有用。默认情况下,文本框的 Text 属性的绑定在失去焦点之前不会提交值。将绑定的 UpdateSourceTrigger 更改为 PropertyChanged:
Text="{Binding Path=Text, UpdateSourceTrigger=PropertyChanged}"
这将在每次按键时提交值。如果不看到代码,就无法确定这是否是您的问题。
干杯埃里克