在 UserControl 中,我希望按钮显示图像(由动态资源提供)。如果动态资源不可用/由应用程序提供,我希望按钮显示一些默认内容。
我的想法是将默认内容放入位于图像下方的文本块中,只要图像源为空,就将其隐藏(因此它不会发光)。但是,如果解析 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>
什么是适当的解决方案?
谢谢你的帮助!