UserControl では、ボタンに画像を表示する必要があります (動的リソースによって提供されます)。動的リソースが利用できない場合、またはアプリケーションによって提供されない場合、ボタンにデフォルトのコンテンツを表示する必要があります。
私の考えは、デフォルトのコンテンツを画像の下にあるテキストブロックに入れ、画像ソースがnullである限り非表示にすることでした(透けて見えないように)。ただし、DynamicResource の解決に失敗した場合、この条件は機能しないようです。その場合、画像のソースの状態は正確にはどうなりますか?
<Button Command="{Binding DoSomethingCommand}">
<Grid>
<TextBlock Text="DefaultText" Visibility="Collapsed">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=TestImage, Path=Source}" Value="{x:Null}">
<Setter Property="Visibility" Value="Visible"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<Image x:Name="TestImage" Source="{DynamicResource SomeResource}" Stretch="None"/>
</Grid>
</Button>
適切な解決策は何ですか?
ご協力いただきありがとうございます!