Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF ListView排序会丢失最后一行中的列数据_C#_Wpf_Listview_Sorting - Fatal编程技术网

C# WPF ListView排序会丢失最后一行中的列数据

C# WPF ListView排序会丢失最后一行中的列数据,c#,wpf,listview,sorting,C#,Wpf,Listview,Sorting,在对WPF ListView ColHeader进行排序时,我遇到了一个奇怪的行为!! 我有一个绑定到datatable的listview。 col有细胞模板 在一个单元格模板[salary column]中,我在xaml中使用了多重绑定。 当此listview加载数据时,一切都正常工作 我分别更改了每行中薪资列的数值,如1,4,3,5,2 也就是说,在第一行中,工资col是1, 第二行,薪资列为4,第三行薪资列为3,以此类推 当我点击工资标题列进行排序时,listview正在排序,但工资文本框

在对WPF ListView ColHeader进行排序时,我遇到了一个奇怪的行为!! 我有一个绑定到datatable的listview。 col有细胞模板

在一个单元格模板[salary column]中,我在xaml中使用了多重绑定。 当此listview加载数据时,一切都正常工作

我分别更改了每行中薪资列的数值,如1,4,3,5,2

也就是说,在第一行中,工资col是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();
}

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

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

Text="{Binding Path=Text, UpdateSourceTrigger=PropertyChanged}"
这将在每次按键时提交值。在没有看到代码的情况下,无法确定这是否是您的问题

干杯,
埃里克

我解决了这个问题。这是在文本框中编写的一些代码丢失焦点事件的错误。我修好了。谢谢你的帮助。