我正在使用MVVM模式。我有兩個按鈕。點擊我需要確定哪個按鈕被點擊。如何在XAMl中綁定按鈕,以便我可以識別哪個按鈕被點擊。如何使用WPF中的MVVM模式識別哪個按鈕被點擊?
-1
A
回答
1
如果您真的使用MVVM,則將每個按鈕的Command
綁定到您的視圖模型中對應的ICommand
。這將是兩個不同的命令,因此您不需要執行任何特殊操作就可以將一個按鈕與另一個按鈕區分開來。
XAML:
<Button Content="FirstButton"
Command="{Binding Path=FirstCommand, Mode=OneTime}"/>
<Button Content="SecondButton"
Command="{Binding Path=SecondCommand, Mode=OneTime}"/>
視圖模型:
public sealed class ViewModel : INotifyPropertyChanged
{
// ...
public ICommand FirstCommand { get; }
public ICommand SecondCommand { get; }
// ...
}
0
如果你想使用相同的Command
多個按鈕,你可以使用CommandParameter
。
<Button Content="buttonContent1" Command="{Binding ButtonClickCommand}"
CommandParameter="{Binding RelativeSource={RelativeSource Self}, Path=Content}"/>
而在你的命令委託方法可以使用這樣的事情:
private void ButtonClickCommandHandler(object parameter)
{
switch(parameter.ToString())
{
case buttonContent1:
...
case buttonContent2:
...
}
}
這裏按鈕被按課程的內容確定您可以將其更改爲某個其他財產一樣Tag
+0
'Content'和'Tag'屬性對於'CommandParameter'來說是一個非常糟糕的選擇。創建一個枚舉,其中每個字段將標識一個按鈕並將這些字段作爲「CommandParameter」傳遞將會好得多。 – Maxim
相關問題
- 1. 如何識別點擊了哪個按鈕? (MVVM)
- 2. 如何識別哪個按鈕被點擊
- 3. 如何識別哪個按鈕點擊哪個部分UICollectionView iOS?
- 4. 識別哪個動態生成的按鈕被點擊
- 5. 如何判斷哪個按鈕被點擊,動態生成? (MVVM)
- 6. 如何使用MVVM模式「禁用」WPF中的按鈕?
- 7. 識別按鈕點擊
- 8. 如何識別哪個按鈕被按下?
- 9. 如何識別哪個片段在onMapReady方法中被點擊
- 10. 檢查哪個按鈕被點擊
- 11. vba按鈕 - 找到哪個被點擊
- 12. 找到哪個按鈕被點擊
- 13. 識別哪個單選按鈕被檢查並使用php
- 14. UIGestureRecognizer將如何識別哪個圈被點擊?
- 15. 如何識別哪個按鈕被拖動
- 16. 如何識別哪個單選按鈕被接受?
- 17. 如何讓UIActionsheet識別哪個按鈕最近被推送?
- 18. 如何識別所點擊的按鈕屬於哪個列表框項目?
- 19. 在WebView中,如何知道哪個按鈕被點擊?
- 20. Jquery-如何識別一個點擊按鈕的類
- 21. Android的 - 按鈕偵聽知道哪個按鈕被點擊
- 22. 如何禁用按鈕的另一個按鈕被點擊
- 23. 如何找到哪個編程創建的按鈕被點擊?
- 24. 如何使用帶有MVVM模式的XAML識別DataGrid的行
- 25. 哪個按鈕被點擊而不使用Javascript?
- 26. 如何使按鈕不被點擊?
- 27. 點擊了哪個按鈕?
- 28. wpf按鈕點擊
- 29. 使事件的多個按鈕,並知道被點擊了哪個按鈕
- 30. 如何確定哪個按鈕被點擊了一段時間
你的問題不清楚。請在這裏分享你的代碼。 –