我的课堂上有一个布尔型属性,例如:
private bool isFolder;
public bool IsFolder{ get; set; }
Run Code Online (Sandbox Code Playgroud)
我在xaml中有一张图片:
<Image Source="..">
Run Code Online (Sandbox Code Playgroud)
我希望当IsFolder为true时该图像具有一个imageSource,而为false时具有另一个imageSource。我怎样才能做到这一点?
提前致谢。
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>
Run Code Online (Sandbox Code Playgroud)
另外,请确保基础ViewModel类正在实现INotifyPropertyChanged事件,以便将IsFolder属性中的更改传播到UI。