我正在使用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. 如何識別Objective-C中哪個按鈕被點擊?
- 3. 識別哪個按鈕被點擊使用php
- 4. winapi BN_CLICKED如何識別哪個按鈕被點擊?
- 5. 如何識別哪個按鈕被點擊
- 6. 如何識別哪個`view`被點擊?
- 7. 如何識別哪個按鈕點擊哪個部分UICollectionView iOS?
- 8. 識別哪個動態生成的按鈕被點擊
- 9. 如何判斷哪個按鈕被點擊,動態生成? (MVVM)
- 10. 如何使用MVVM模式「禁用」WPF中的按鈕?
- 11. 如何識別哪個按鈕在javascript中被按下?
- 12. 識別按鈕點擊
- 13. 如何識別哪個按鈕被按下
- 14. iOS如何識別哪個圖像(按鈕)被按下?
- 15. 如何識別哪個按鈕被按下?
- 16. 如何識別哪個片段在onMapReady方法中被點擊
- 17. 找到哪個按鈕被點擊
- 18. vba按鈕 - 找到哪個被點擊
- 19. pyqt5顯示哪個按鈕被點擊
- 20. 檢查哪個按鈕被點擊
- 21. c#:如何識別哪個childform是一個按鈕(屬於一個parentForm)點擊?
- 22. 識別哪個單選按鈕被檢查並使用php
- 23. Java,thread.sleep()阻止使用按鈕(不能識別按鈕點擊)
- 24. 在MVVM模式中雙擊處理WPF按鈕
- 25. UIGestureRecognizer將如何識別哪個圈被點擊?
- 26. 如何識別哪個單選按鈕被接受?
- 27. 如何識別哪個按鈕被拖動
- 28. 如何讓UIActionsheet識別哪個按鈕最近被推送?
- 29. 如何識別所點擊的按鈕屬於哪個列表框項目?
- 30. GWT CELLTABLE pager如何確定哪個按鈕被用戶點擊?
你的問題不清楚。請在這裏分享你的代碼。 –