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

c# – WPF将布尔值转换为彩色字符串

发布时间:2020-12-15 19:26:47 所属栏目:百科 来源:网络整理
导读:我坚持“简单”的转换.我有一个方法.它检查连接.如果建立了连接,则更改我的viewmodel的boolean属性.我想要做的是在我的表单上显示彩色字符串(红色“连接失败”或绿色“连接建立”取决于布尔属性)但我不知道如何做到这一点. 解决方法 你有两个选择,因为你没有
我坚持“简单”的转换.我有一个方法.它检查连接.如果建立了连接,则更改我的viewmodel的boolean属性.我想要做的是在我的表单上显示彩色字符串(红色“连接失败”或绿色“连接建立”取决于布尔属性)但我不知道如何做到这一点.

解决方法

你有两个选择,因为你没有提供任何具体的代码,我将只提供一些资源:

第一个选项是使用触发器更新文本的属性.这将在xaml中实现,只需观察绑定属性以获取特定值(在您的情况下为true或false)并相应地更新颜色.这也是@Kylo-Ren所做的.
有关这方面的信息可以在这里找到:

http://www.wpf-tutorial.com/styles/trigger-datatrigger-event-trigger/

另一种选择是使用IValueConverter接口并将布尔值转换为颜色.这就是@Stefan所做的.更多信息:

http://www.codeproject.com/Tips/868163/IValueConverter-Example-and-Usage-in-WPF

如果您只拥有该属性可以采用的非常有限的值范围和/或您想要一次更新多个可视属性,我会推荐第一个版本.

第二个版本更适用于更复杂的转换(例如将完整对象转换为格式化字符串),但不能轻易用于更新多个可视属性.

经验法则:

我想表明一个州=>使用触发器

我想以特定方式显示对象值(例如Text)=>使用IValueConverter

(编辑:李大同)

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

    推荐文章
      热点阅读