WPFにいくつかのテキストボックスとラジオボタンのコレクションがあります。トリガーを使用して、テキストボックスにフォーカスがある場合に名前が付けられた1つのラジオボタンのIsCheckedプロパティを設定したいと思います。いくつか例を確認しましたが、探しているものが見つかりませんでした。MVVMパターンを使用しており、コードビハインドがないことを忘れないでください。
次のコードを試しましたが、このコンパイルエラーが発生しました。
TargetNameプロパティをスタイルセッターに設定することはできません
<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>