如何通知包含Window
的{{1}}包含的UserControl
/ ICommand
/ RelayCommand
?
我想回复DelegateCommand
中的CanExecuteChanged
个事件。
Window
:
UserControl
<UserControl x:Class="CarProject.CarUserControl" ... >
<!-- lots of stuff here... -->
<Button Name="FuelCar" Command="{Binding FuelCarCommand}"
CommandParameter="{Binding FuelType}" >
Start fueling the car...
</Button>
<!-- lots of stuff here... -->
</UserControl>
:
Window
每当点击按钮<Window ...
xmlns:carProject="clr-namespace:CarUserControl;assembly=CarUserControl"
...
>
<!-- lots of stuff here... -->
<carProject:CarUserControl Name="TheCar"/>
<!-- lots of stuff here... -->
</Window>
时,自定义命令FuelCar
为FuelCarCommand
d。 (Execute
?简单FuelCarCommand
实施的正确类型应该是什么?ICommand
子类型或RelayCommand
?或者只是DelegateCommand
,就是这样...... 。?)。
该命令执行一些业务逻辑工作,虽然它可以工作(为汽车加油需要时间),但Routed Events
中的其他控件仍被禁用。
但我还需要CarUserControl
来禁用一些与Window
没有直接关系的控件(例如CarUserControl
应被禁用,因为它被FuelStationNumberOne
占用。
实现这一目标的正确方法是什么?在这里做命令是正确的意思吗?