我在将焦点更改为 xaml 上的某个按钮时遇到问题。我尝试执行的代码如下所示(如果满足某些条件,则应将焦点设置为按钮。奇怪的是,出于测试目的,我还更改了按钮的背景,并且每个都设置了此属性满足条件的时间。如何设置默认按钮或将焦点设置在该按钮上?
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=SomeProperty1.Count, Converter={StaticResource IntegerToBooleanConverter}}" Value="True"/>
<Condition Binding="{Binding Path=SomeProperty2, Converter={StaticResource NullToBoolConverter}}" Value="False"/>
<Condition Binding="{Binding Path=SomeProperty3.Count, Converter={StaticResource IntegerToBooleanConverter}}" Value="True"/>
</MultiDataTrigger.Conditions>
<Setter Property="FocusManager.FocusedElement" Value="{Binding RelativeSource={RelativeSource Self}}"/>
<Setter Property="IsDefault" Value="True"/>
<Setter Property="Background" Value="Green"/>
</MultiDataTrigger>
</Style.Triggers>
另外,我想写下 SomeProperty1 和 SomeProperty2 仅在我单击特定按钮时才设置。正如我所看到的,这些按钮具有焦点。