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>
적절한 해결책은 무엇입니까?
도움 주셔서 감사합니다. TextBlock입니다 리소스 조회에 성공에만 이미지가 표시되지 않습니다
<Button Command="{Binding DoSomethingCommand}">
<Grid>
<TextBlock Text="DefaultText" />
<Image x:Name="TestImage" Source="{DynamicResource SomeResource}" Stretch="None"/>
</Grid>
</Button>
:
보기 부분 즉 UI 측면에서 이미지가 동적 리소스에서 사용 가능하지 않은지 어떻게 결정합니까? –
[FallbackValue] (https://msdn.microsoft.com/en-us/library/system.windows.data.bindingbase.fallbackvalue (v = vs.110) .aspx)를 사용해 보셨습니까? – lena
"바인딩"이 없기 때문에 FallbackValue를 사용할 수 없습니다. – tabina