2013-10-04 58 views
0

我在排序WPF ListView ColHeader時遇到一個奇怪的行爲! 我有一個綁定到數據表的列表視圖。 Cols有單元格模板。WPF ListView排序失去最後一行的列數據

在其中一個單元格模板[salary column]中,我在xaml中有multibinding。 當這個列表視圖加載數據時,一切工作正常。

而且我分別更改了每行中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(); 
} 

當我在添加排序desc後檢查myview時,最後一行中的Salary值消失了!它有什麼不對嗎?

回答

0

我可以根據你的描述推測發生了什麼,但是顯示數據表的xaml會很有用。默認情況下,TextBox的Text屬性的綁定不會在該對象失去焦點之前提交該值。將您的綁定的UpdateSourceTrigger更改爲PropertyChanged:

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

這將在每次按鍵時提交值。無法確定這是否是您的問題而未看到代碼。

乾杯, 埃裏克

+0

我解決了這個問題。這是在文本框丟失焦點事件中寫入的一些代碼的錯誤。我修好了它。謝謝您的幫助。 – user2846545