我正在使用 Microsoft.Toolkit.MVVM,在檔案中
我們可以使用如下系結Button命令:
<Button
Content="Click me!"
Command="{Binding ButtonClickCommand}"/>
但是對于ListView,我必須像 with 一樣寫Behaviors,這段代碼太長了:
<ListView>
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction Command="{Binding SelectionChangedCommand}" PassEventArgsToCommand="True"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</ListView>
那么為什么不能使用下面的代碼呢?這很簡單,但不起作用。
<ListView SelectionChanged={Binding SelectionChangedCommand}/>
uj5u.com熱心網友回復:
簡單的答案是按鈕 Command 中的物件型別是 ICommand 而在 ListView 中 SelectionChanged 是一個事件而不是 ICommand ,這就是為什么你需要使用 eventTrigger 這是一個“插件”
如果你從 MVVM 的角度來看它,按鈕是在這里系結一個命令 ListView 有 SelectedItems 集合,你可以系結到而不是事件,但這更多是你需要做出的選擇(我認為你的代碼看起來很好一次你已經習慣了)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/410012.html
標籤:
上一篇:WPF將選項卡項設定為箭頭狀
