我班上有一个布尔属性,比如说:
private bool isFolder;
public bool IsFolder{ get; set; }
我在xaml中有一张图片:
<Image Source="..">
我希望那个图像在IsFolder为真时有一个imageSource而另一个 - 当它是假的时候。我怎么能这样做?
提前致谢。
答案 0 :(得分:4)
DataTriggers
仅用于此目的。
如果IsFolder为false (将其绑定到NotFolderImage属性),则设置默认值。如果IsFolder值设置为true,请将源设置为其他值(在本例中为FolderImage)。
<Image>
<Image.Style>
<Style TargetType="Image">
<Setter Property="Source" Value="{Binding NotFolderImage}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsFolder}" Value="True">
<Setter Property="Source" Value="{Binding FolderImage}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
此外,请确保基础ViewModel类正在实现INotifyPropertyChanged事件,以便将IsFolder属性中的更改传播到UI。