加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 在WPF中清除“设置”绑定

发布时间:2020-12-15 07:51:49 所属栏目:百科 来源:网络整理
导读:我最近在XAML中对我的配置设置进行了大量绑定.存储列宽/控制尺寸/窗口位置等.所以我想知道是否有一种简单的方法来创建并绑定到XAML的“设置/配置”值? 现在我只是在项目中创建一个设置,将一个可绑定的属性推送到XAML的DataContext中并从那里开始.但我的设置
我最近在XAML中对我的配置设置进行了大量绑定.存储列宽/控制尺寸/窗口位置等.所以我想知道是否有一种简单的方法来创建并绑定到XAML的“设置/配置”值?

现在我只是在项目中创建一个设置,将一个可绑定的属性推送到XAML的DataContext中并从那里开始.但我的设置数量变得非常疯狂,管理它们变得很痛苦(无聊,重复和烦人).

在一个理想的世界里,我想要一个我可以做这样的事情的系统:

<Window State={Binding {Settings Name="MyWindowState",DefaultValue="Normal"}}/>

如果“MyWindowState”设置不存在,它将自动创建并存储在某处.如果MyWindowState设置发生更改,则使用它的所有绑定也会相应地得到通知和更新.如果设置检索失败,将使用DefaultValue.

是否存在类似于此的东西,或者是否可以使用标准WPF XAML实现?

我正在计划开展一些可以做到这一点的事情,但是如果一个经过验证的解决方案已经存在,我很乐意至少看一下/听出来.

从我的理解Telerik’s persistance framework可以做这样的事情,除了控制基础控制(没有全局“设置”我可以绑定),至少乍看之下.

解决方法

您可以使用附加属性执行此操作:
<Window loc:WindowState.Name="MyWindowState" />

在附加属性的OnNameChanged事件处理程序中,您将可以访问设置了WindowState.Name属性的Window实例,并可以访问已设置的值(在此示例中为“MyWindowState”).在那里,您开始监听(例如使用PropertyChangedEventManager)更改Window实例的所有属性,这些属性是您要保留的窗口状态的一部分.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读