C# CommandParameter绑定在Command.CanExecute激发后解析
我有一个带有绑定命令和命令参数的按钮:C# CommandParameter绑定在Command.CanExecute激发后解析,c#,wpf,xaml,C#,Wpf,Xaml,我有一个带有绑定命令和命令参数的按钮: <Button Margin="5,0,5,5" Style="{StaticResource MainButton}" Grid.Row="2" Grid.RowSpan="2" Grid.Column="3" Padding="0"> <Button.CommandParameter> <MultiBinding Converter="{StaticResource S
<Button Margin="5,0,5,5" Style="{StaticResource MainButton}" Grid.Row="2" Grid.RowSpan="2" Grid.Column="3" Padding="0">
<Button.CommandParameter>
<MultiBinding Converter="{StaticResource SwapArgsConverter}" ConverterParameter="-1">
<Binding RelativeSource="{RelativeSource Mode=FindAncestor, AncestorType=tlq:SmartWarningsWindow}" Path="DataContext.SelectedWarning"></Binding>
<Binding Path="Rank"></Binding>
</MultiBinding>
</Button.CommandParameter>
<Button.Command>
<Binding RelativeSource="{RelativeSource FindAncestor, AncestorType=tlq:SmartWarningsWindow}" Path="DataContext.SwapCommand"></Binding>
</Button.Command>
</Button>
绑定都可以正常工作,但是命令
绑定解析,并且ICommand.CanExecute方法在CommandParameter
绑定解析之前激发。这会导致在加载窗口时错误地禁用我的控件
我尝试了几种方法,包括将命令
绑定放在上面看到的命令参数
绑定之后(最初命令绑定是一个属性)
有人知道如何强制先解析CommandParameter
绑定吗?您的命令类中可能缺少以下内容:
public event EventHandler CanExecuteChanged
{
add { CommandManager.RequerySuggested += value; }
remove { CommandManager.RequerySuggested -= value; }
}
每当CommandManager认为发生了更改并将影响命令的执行能力时,就会引发一个事件 您是否尝试在命令类中重新查询?很抱歉延迟!这是正确的答案,我被拉上了另一个项目,直到现在才回到这个问题上