我TabControl Region在外壳视图中使用棱镜。
每个都TabItem包含AView和AViewModel。
我可以TabItem使用IsActive.AViewModel
IsActive属性设置为true仅针对当前选定的 TabItem。
我在Shell视图中有一个按钮,它负责为TabItems.
根据当前活动启用禁用按钮的正确方法是什么TabItem(设置可以执行command为true或false),并且只为活动视图执行逻辑。从放置在其他视图中的按钮?
我已经设法command通过创建来执行composite command,然后将命令从 注册AViewModel到composite command,并将其中的按钮绑定shell到composite command。
这种方法的问题是,如果任何命令返回false它们都是除了一个(活动的TabItem)之外的,则没有任何命令被执行。
CompositeCommand 类维护一个子命令列表(DelegateCommand 实例)。CompositeCommand 类的 Execute 方法只是在每个子命令上依次调用 Execute 方法。CanExecute 方法类似地调用每个子命令的 CanExecute 方法,但是如果任何子命令无法执行,CanExecute 方法将返回 false。换句话说,默认情况下,只有当所有子命令都可以执行时,才能执行 CompositeCommand。 资源