我查看包含以下2個按鈕:啓用通過WPF命令模式提交/取消按鈕
<StackPanel Grid.Row="0" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<Button Content="Start" Width="100" Height="30" Margin="20" Command="{Binding OkCommand}"/>
<Button Content="Cancel" Width="100" Height="30" Margin="20" Command="{Binding CancelCommand}"/>
</StackPanel>
在我的虛擬機 - 我有命令攔截設置。
class StockViewModel
{
#region Properties
public ICommand OkCommand { get; set; }
public ICommand CancelCommand { get; set; }
#endregion
#region Constructor
public StockViewModel()
{
OkCommand = new myCommand(myOkExecute, myCanOkExecute);
CancelCommand = new myCommand(myCancelExecute, myCanCancelExecute);
}
#endregion
private void myOkExecute (object parameter)
{
......
}
private bool myCanOkExecute(object parameter)
{
........
}
private bool myCanCancelExecute(object parameter)
{
.......
}
private myCanCancelExecute(object parameter)
{
............
}
#endregion
public class myCommand : ICommand
{
}
問:我想在按鈕的行爲是OPP - 這意味着當點擊一個(提交)其他應當由殘疾人,反之亦然。當表單首次加載 - Submit btn默認啓用。
我嘗試了多種方式 - 但似乎無法得到這個工作。
我在這裏做普通的MVVM代碼 - 沒有棱鏡/事件聚合器的概念。
人們可以推薦(使用代碼smaple)一般如何處理這樣的命令bheavior。
爲什麼你的命令不能引發ICommand.CanExecuteChanged事件? – Rich 2012-04-17 20:36:53
查看更新的代碼 - 它有所有的事件 - 只是似乎無法計算如何訪問btnState並將它們設置爲true或false – Patrick 2012-04-17 21:04:15