如何通知包含Window它包含的某个UserControl调用了ICommand / RelayCommand / DelegateCommand?

时间:2015-01-15 15:03:49

标签: wpf icommand routed-events routed-commands delegatecommand

TL / DR:

如何通知包含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> 时,自定义命令FuelCarFuelCarCommand d。 (Execute?简单FuelCarCommand实施的正确类型应该是什么?ICommand子类型或RelayCommand?或者只是DelegateCommand,就是这样...... 。?)。

该命令执行一些业务逻辑工作,虽然它可以工作(为汽车加油需要时间),但Routed Events中的其他控件仍被禁用。

但我还需要CarUserControl来禁用一些与Window没有直接关系的控件(例如CarUserControl应被禁用,因为它被FuelStationNumberOne占用。

实现这一目标的正确方法是什么?在这里做命令是正确的意思吗?

0 个答案:

没有答案