2 回答

TA貢獻1895條經驗 獲得超7個贊
你需要分開你的顧慮。在您后面的代碼中,您應該只有處理視圖相關內容的代碼。大多數情況下,我的代碼隱藏是空的。
在您的 ViewModel 中,您應該處理與數據相關的邏輯。因此,不要在后面的代碼中投射數據上下文,而是Command在視圖模型中使用 a 處理單擊。
由于無法將命令綁定到SelectedItemChanged您的 ,因此TreeView您可以使用交互觸發器。
<TreeView xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectedItemChanged">
<i:InvokeCommandAction Command="{Binding Path=SomeCommand, Mode=OneWay}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</TreeView>

TA貢獻1839條經驗 獲得超15個贊
如果沒有一些示例代碼,Ruven 很難說。但可能是您需要在 ViewModel 上實現 INotifyPropertyChanged?
通過調用 OnPropertyChanged("PropertyName"); 在 viewmodel 屬性的 setter 中,ui 將獲取更改。
還要確保兩個視圖都引用同一個對象,而不是同一個對象的副本。
- 2 回答
- 0 關注
- 240 瀏覽
添加回答
舉報