我在排序WPF ListView ColHeader时遇到了奇怪的行为! 我有一个binview绑定到数据表。 Cols有细胞模板。
在其中一个单元格模板[salary column]中,我在xaml中有多个绑定。 当这个列表视图加载数据时,一切正常。
我分别更改了每行中1,4,3,5,2等工资列的数值。
即,在第一行中,工资col为1, 第二排,薪水是4,第三排薪水是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值消失了!!它有什么不对吗???
答案 0 :(得分:0)
我可以根据您的描述推测发生了什么,但显示数据表的xaml会很有用。默认情况下,TextBox的Text属性的绑定在失去焦点之前不会提交值。将绑定的UpdateSourceTrigger更改为PropertyChanged:
Text="{Binding Path=Text, UpdateSourceTrigger=PropertyChanged}"
这将在每次按键时提交值。如果没有看到代码,无法确定这是否是您的问题。
干杯, 埃里克