<DataTemplate>
<Image Name="ServerImageSetter" Source="{svg2Xaml:SvgImage ServerAdministrator2;component/Images/test1.svg}"/>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding ServerKindTrigger}" Value="0">
<Setter TargetName="ServerImageSetter" Property="Source" Value="{svg2Xaml:SvgImage ServerAdministrator2;component/Images/test2.svg}"/>
</DataTrigger>
<DataTrigger Binding="{Binding ServerKindTrigger}" Value="1">
<Setter TargetName="ServerImageSetter" Property="Source" Value="{svg2Xaml:SvgImage ServerAdministrator2;component/Images/test3.svg}"/>
</DataTrigger>
<DataTrigger Binding="{Binding ServerKindTrigger}" Value="2">
<Setter TargetName="ServerImageSetter" Property="Source" Value="{svg2Xaml:SvgImage ServerAdministrator2;component/Images/test3.svg}"/>
</DataTrigger>
</DataTemplate
내 C# 코드에서 내 값의 종류를 0-2로 바꾸고 이미지를 변경해야합니다. 하지만 그 변화는 효과가 없습니다.DataTemplate은 변경되지 않습니다.
public int ServerKindTrigger
{
get { return _serverKindTrigger; }
set { _serverKindTrigger = value;
RaisePropertyChanged();
}
}
//Here I switch my serverkind and wanna change the image value
switch (_serverKind)
{
case Servers.test: _serverKindTrigger = 0;
당신이 변수'_serverKindTrigger'에 새 값을 할당하면, 당신은 통지를 제기하지 않는다. 그것은 속성을 통해 : 'ServerKindTrigger = 0;'. – ASh