当前位置:  开发笔记 > 编程语言 > 正文

如果DataContext为null或不使用WPF,如何触发样式更改

如何解决《如果DataContext为null或不使用WPF,如何触发样式更改》经验,为你挑选了1个好方法。

我有一个包含多个控件的页面.控件绑定显示从页面的DataContext获取的值.我想要做的是在DataContext为null时显示页面的另一个外观.在某些情况下,如果设置了"他们的"属性,页面的控件应该以不同的方式显示.

是否可以创建绑定以查看是否设置了DataContext?

我作为一种解决方法做的是向页面添加一个IsDataContextSet属性并指定一个绑定,如:

Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Page}}, Path=IsDataContextSet}" Value="false"

这符合我的预期,但我觉得他们更优雅的方式来做到这一点.或至少或更多WPFish方式.



1> Christopher ..:

根据您描述的场景,我将使用样式和数据触发器设置属性.数据触发器将使用默认绑定,即数据上下文.

示例可能如下所示:


    
        
    

除非数据上下文为空,否则边框将为橙色,在这种情况下背景为黄色.

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有