0

在对 WPF ListView ColHeader 进行排序时,我遇到了一个奇怪的行为!我有一个绑定到数据表的列表视图。Cols 有单元格模板。

在其中一个单元格模板 [salary column] 中,我在 xaml 中有多重绑定。当此列表视图加载数据时,一切正常。

并且我在每一行中分别更改了 1,4,3,5,2 等工资列的数值。

即第一行salary col为1,第二行salary col为4,第三行salary col为3,以此类推。

当我单击薪水标题列进行排序时,列表视图正在排序,但薪水文本框中最后输入的值 [即,此处为 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();
}

当我在添加 sort desc 后检查 myview 时,最后一行中的 Salary 值消失了!有什么不对吗???

4

1 回答 1

0

我可以根据您的描述推测正在发生的事情,但显示数据表的 xaml 会很有用。默认情况下,TextBox 的 Text 属性的绑定在失去焦点之前不会提交该值。将绑定的 UpdateSourceTrigger 更改为 PropertyChanged:

Text="{Binding Path=Text, UpdateSourceTrigger=PropertyChanged}"

这将在每次按键时提交值。在没有看到代码的情况下无法确定这是否是您的问题。

干杯,埃里克

于 2013-10-04T17:28:00.153 回答