3 回答

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊
您應(yīng)該EventTrigger
與InvokeCommandAction
Windows.Interactivity命名空間結(jié)合使用。這是一個(gè)例子:
<ListBox ...> <i:Interaction.Triggers> <i:EventTrigger EventName="SelectionChanged"> <i:InvokeCommandAction Command="{Binding SelectedItemChangedCommand}"/> </i:EventTrigger> </i:Interaction.Triggers></ListBox>
你可以System.Windows.Interactivity
去參考Add reference > Assemblies > Extensions
。
完整的i
命名空間是:xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
。

TA貢獻(xiàn)1880條經(jīng)驗(yàn) 獲得超4個(gè)贊
我處理這個(gè)問(wèn)題的方法是在ViewModel中有一個(gè)SelectedItem屬性,然后將ListBox的SelectedItem綁定到該屬性。

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
要重構(gòu)這個(gè),你需要改變你的想法。您將不再處理“選擇已更改”事件,而是將所選項(xiàng)目存儲(chǔ)在viewmodel中。然后,您將使用雙向數(shù)據(jù)綁定,以便在用戶選擇項(xiàng)目時(shí)更新您的viewmodel,并在更改所選項(xiàng)目時(shí)更新您的視圖。
- 3 回答
- 0 關(guān)注
- 1777 瀏覽
添加回答
舉報(bào)