MultiDataTrigger.Conditions をラジオ ボタンにバインドしたいのですが、うまくいきません。これが私のシナリオです。
wpfには、ラジオボタンがあると思われるGridPanelがあります。
次のように、動的ラジオボタンを GridPanel に生成します。
RadioButton allAccountBtn = new RadioButton();
allAccountBtn.Name = "allAccountBtn";
GridPanel.Children.Add(allAccountBtn);
私のxamlには、このラジオボタンの選択と別のコントロールのプロパティに基づいて変化する画像ボタンがありました。
ここに私のコードがあります:
<Button>
<Button.Template>
<ControlTemplate>
<Image Name="addFolderIcon" Source="Icon/Decoration/folderColor.png">
<ControlTemplate.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Tag, ElementName=folderBackBtn}" Value="{x:Null}"/>
<Condition Binding="{Binding IsChecked, ElementName=allAccountsBtn}" Value="True"/>
</MultiDataTrigger.Conditions>
<Setter Property="Control.IsEnabled" Value="False"/>
<Setter TargetName="addFolderIcon" Property="Source" Value="Icon/Decoration/folder.png"/>
</MultiDataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Button.Template>
</Button>
プログラムを実行すると、エラー コードが表示されます:「参照を使用してバインドするためのソースが見つかりません」、条件は 2 番目の条件 (elementName=allAccountsBtn) に対して false を返します。
なぜこれが起こるのですか?
動的に名前が付けられ、生成された RadioButton から IsChecked プロパティを取得する方法はありますか?