C#学习教程:如何实现BoolToVisibilityConverter我的Stackpanel包含一个图像和一个文本块。如何正确使用BoolToVisibilityConverter来切换TextBlock的可见性并保存此设置以方便用户使用?目前我的情况如下,虽然我遇到了一些错误。重要说明,我需要将ApplicationBar菜单项用作单击事件来驱动TextBox可见性的切换。编辑虽然TextBlock的可见性没有改变,但错误不再发生。XAMLxmlns:common="clr-namespace:TestApp.Common"代码背面privatevoidBuildLocalizedApplicationBar(){ApplicationBar=newApplicationBar();ApplicationBarMenuItemshowFilterNamesMenuItem=newApplicationBarMenuItem();如果(Settings.ShowFilterNames.Value)showFilterNamesMenuItem.Text=AppResources.EditPage_EffectNames_Hide;elseshowFilterNamesMenuItem.Text=AppResources.EditPage_EffectNames_Show;showFilterNamesMenuItem.Click+=showFilterNamesMenuItem_Click;ApplicationBar.MenuItems.Add(showFilterNamesMenuItem);}voidshowFilterNamesMenuItem_Click(objectsender,EventArgse){if(Settings.ShowFilterNames.Value){((ApplicationBarMenuItem)ApplicationBar.MenuItems[0]).Text=AppResources.EditPage_EffectNames_Hide;Settings.ShowFilterNames.Value=false;//将文本块可见性切换到此处}else{((ApplicationBarMenuItem)ApplicationBar.MenuItems[0]).Text=AppResources.EditPage_EffectNames_Show;设置.ShowFilter名称.Value=true;//将文本块可见性切换到此处}}BooleanToVisibilityConverter的类//BooleanToVisibilityConverter上的错误说明未实现接口成员'System.Windows.Data.IValueConverter.Convert(object,System.Type,object,System.Globalization.CultureInfo)publicclassBooleanToVisibilityConverter:IValueConverter{publicclassBooleanToVisibilityConverter:IValueConverter{publicobjectConvert(objectvalue,TypetargetType,objectparameter,CultureInfolanguage){return(valueisbool&&(bool)value)?Visibility.Visible:Visibility.Collapsed;}publicobjectConvertBack(objectvalue,TypetargetType,objectparameter,CultureInfolanguage){返回值为Visibility&&(Visibility)value==Visibility.Visible;}}试试这个:博olobjValue=(bool)值;如果(objValue){返回Visibility.Visible;}返回Visibility.Collapsed;}publicobjectConvert(objectvalue,TypetargetType,objectparameter,stringlanguage){returnGetVisibility(value);objectConvertBack(objectvalue,TypetargetType,objectparameter,stringlanguage){thrownewNotImplementedException();这是我的:publicclassBoolToVisConverter:IValueConverter{publicobjectConvert(objectvalue,TypetargetType,objectparameter,agestring){return(valueisbool&&(bool)value)?Visibility.Visible:Visibility.Collapsed;}publicobjectConvertBack(objectvalue,TypetargetType,objectparameter,stringlanguage){返回值为Visibility&&(Visibility)value==Visibility.Visible;已经有转换器的实现:http://msdn.microsoft.com/en-us/library/system.windows.controls.booleantovisibilityconverter(v=vs.110).aspx以上是C#学习教程:BoolToVisibilityConverter分享的所有内容如何实现,如果对你有用还需要了解更多学习C#教程,希望大家多多关注这篇文章。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处:
