私はWPFアプリケーションを持っており、Telerikを使用しています。RadWindowのIconTemplate用DataTrigger
<telerik:RadWindow.Resources>
<Style x:Key="CustomIconStyle" TargetType="Image">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=IsConditionMet, ElementName=MyWindow, UpdateSourceTrigger=PropertyChanged}" Value="True">
<Setter Property="Source" Value="{Binding Path=IconImageSource, ElementName=MyWindow, UpdateSourceTrigger=PropertyChanged}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</telerik:RadWindow.Resources>
<telerik:RadWindow.IconTemplate>
<DataTemplate>
<Image Style="{StaticResource CustomIconStyle}" Source="/MyAssembly;Component/Resources/myIcon.ico" Height="16" Margin="0,0,5,0"/>
</DataTemplate>
</telerik:RadWindow.IconTemplate>
それは常にデフォルトのアイコンを表示するいくつかの理由: は、私はそれがデフォルト値を持っており、唯一の特定の条件にそれがイメージソースを結合するように、アイコンテンプレートを設定しようとしています。 私はプロパティを変更した実装についても言及したいと思います。同じスタイルをテンプレート内ではなくウィンドウ内のコントロールにコピーしていました。問題はプロパティの変更ではありません。 ?
あなたの答えは私が問題を見つけ出すのを助けました!!何らかの理由で、コントロールのInitializeComponentの後に - ラドウインドウはアイコンを変更しません。私がコンバータを使用したとき、それは一度呼び出されたので機能しました。私はまだバインディングが必要なので、ブール値がコンストラクタで正しい値の最初のものであることを確認しました。私の答えを掲示するでしょう –
私はそれを持っています、そして、私はプロパティの変更が動作する別のコントロールでチェックしました –