【问题标题】:Bind a view model property to an image将视图模型属性绑定到图像
【发布时间】:2010-12-02 05:55:24
【问题描述】:

我有一个用户权限屏幕,我想要一些图像来代表用户的每个权限,即启用的勾号和禁用的叉号。

权限将显示在一个网格中,顶部是查看、添加、编辑和删除,左侧是类别。

           View | Add | Edit | Delete
            y   |  n  |   y  |   y

我希望用户能够单击图像并在勾号和叉号之间切换。我有根据属性值设置正确图像类型的触发器,但我不确定如何(或者如果可以)将图像绑定到对象属性。

    <Image Grid.Column="1" Grid.Row="1" Width="24" Height="24">
        <Image.Style>
            <Style>
                <Style.Triggers>
                    <DataTrigger Binding="{Binding Path=PermissionViewModel.IsEmployeeView}" Value="True">
                        <Setter Property="Image.Source" Value="Check.png"/>
                    </DataTrigger>
                    <DataTrigger Binding="{Binding Path=PermissionViewModel.IsEmployeeView}" Value="False">
                        <Setter Property="Image.Source" Value="Delete.png"/>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </Image.Style>
    </Image>

我可以看到图片没有绑定到对象属性,那么点击图片时如何设置属性?

或者还有其他方法可以做到这一点吗?我想尽可能多地使用 XAML。

提前致谢

【问题讨论】:

    标签: wpf image binding


    【解决方案1】:

    您似乎想要实现一个看起来与标准复选框不同的复选框。在这种情况下,您可以重新设置复选框的样式以获得您想要的外观。然后您可以将重新设置样式的复选框绑定到底层布尔值。

    See also: this Stackoverflow question

    【讨论】:

    • 是的,这很奏效。我5分钟就搞定了!当谈到 WPF 时,我需要改变我的思维过程。我从一个图像变为另一个图像来看待它,而不是将其视为一种两态控制。我非常感谢您的帮助。
    猜你喜欢
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多