【问题标题】:wpf image source depending on object propertywpf图像源取决于对象属性
【发布时间】:2014-09-13 16:01:13
【问题描述】:

我的班级中有一个布尔属性,比如:

private bool isFolder;
public bool IsFolder{ get; set; }

我在 xaml 中有一张图片:

<Image Source="..">

当 IsFolder 为真时,我希望该图像具有一个 imageSource,而另一个 - 当它为假时。我该怎么做?

提前致谢。

【问题讨论】:

    标签: wpf image binding


    【解决方案1】:

    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。

    【讨论】:

    • 哇,感谢闪电般的快速响应!
    猜你喜欢
    • 2012-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-27
    相关资源
    最近更新 更多