我在WPF中有几个文本框和一组单选按钮。 我想使用触发器,在任何一个文本框获得焦点时将名字为"IsChecked"的一个单选按钮的"IsChecked"属性设置为true。 我查看了一些示例,但没有找到我要找的内容。
请记住,我们正在使用MVVM模式,没有代码后台。
我尝试了以下代码,并出现了编译错误:
目标名称属性无法在样式Setter上设置。
<UserControl.Resources>
<Style x:Name="myTest" TargetType="TextBox">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="RadioButton.IsChecked" Value="True" TargetName="myRadioButton"></Setter>
</Trigger>
</Style.Triggers>
</Style>
</UserControl.Resources>
我阅读了其他帖子,使用DataTrigger解决了问题。
<Style x:Name="myTest2" TargetType="RadioButton" >
<Style.Triggers>
<DataTrigger Binding="{Binding IsFocused, ElementName=myTextBox}" Value="True">
<Setter Property="IsChecked" Value="True" ></Setter>
</DataTrigger>
</Style.Triggers>
</Style>