c# – 当使用传统绑定时,为什么bool在没有转换器的情况下工作
发布时间:2020-12-15 04:23:02 所属栏目:百科 来源:网络整理
导读:我之前和之前创建并使用bool到可见性转换器,我忘了在绑定上使用转换器(我正在使用传统绑定).我将视图中控件的visibility属性绑定到视图模型中的bool属性,令人惊讶的是它可以工作.所以我的问题是,如果它适用于传统绑定,为什么我们需要使用转换器?因为看起来
我之前和之前创建并使用bool到可见性转换器,我忘了在绑定上使用转换器(我正在使用传统绑定).我将视图中控件的visibility属性绑定到视图模型中的bool属性,令人惊讶的是它可以工作.所以我的问题是,如果它适用于传统绑定,为什么我们需要使用转换器?因为看起来编译器正在为我做转换.
我在Visual Studio Update 3中的UWP应用程序上测试了它. 解决方法
有趣.这一直是一种痛苦,似乎没有太多宣传就修好了,我不知道这一点.
在WPF中,您总是必须使用ValueConverter,因为Visibility不是bool. 我刚从项目中的{x:Bind …}中删除了一个BooleanToVisibility转换,但它确实仍然有效.我从生成的代码中挖出了这个: private void Update_ViewModel_ShowMessage(global::System.Boolean obj,int phase) { ... this.Update_ViewModel_ShowMessage_Cast_ShowMessage_To_Visibility( obj ? global::Windows.UI.Xaml.Visibility.Visible : global::Windows.UI.Xaml.Visibility.Collapsed,phase); ... } 显然它现在已经内置了. 更新: 对于{x:Bind},它作为周年纪念更新的一部分宣布了here.而你确实需要针对14393或更高版本.对于旧版本,它仅适用于{Binding …}. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |