ValueConverter转换器WPF

发布于:2025-07-12 ⋅ 阅读:(12) ⋅ 点赞:(0)
  1. 属性搭桥    比如BoolToVisibility   创建两个属性  Bool Visibility   这样不好  混乱了viewmodels  降低了泛用性
  2. 系统自带的convertor   
    <Window.Resources>
            <BooleanToVisibilityConverter x:Key="booltovis"></BooleanToVisibilityConverter>
        </Window.Resources>
    //resurce
    
     <TextBlock Visibility="{Binding ElementName=tg1, Path=IsChecked,Converter={StaticResource booltovis},ConverterParameter=Hidden }" TextAlignment="Center">test vis</TextBlock>
    
    //convertor StaticResource

    做不到翻转 做不到flase状态自定义

命名空间只要细到文件夹 不需要到文件、



自己写Converter

  1. 创建Converters文件夹  在根目录
  2. 多次在window.Resources里面声明是很麻烦的  Converter可以考虑放在 App.xaml的资源字典里面   
  3. ConverterParameter=Hidden  还是不建议写属性 建议写在Parameter里面  写成属性的话就不能单独设置了
  4. <!-- App.xaml -->
    <Application.Resources>
        <ResourceDictionary>
            <converters:BoolToVisibilityConverter x:Key="BoolToVisibilityConverter"/>
            <converters:StringToColorConverter x:Key="StringToColorConverter"/>
        </ResourceDictionary>
    </Application.Resources>

if(value is string path && File.Exists(path)

{

return path;

}

return Binding.DoNothing;

(这个的意思就相当于 如果绑定的数据类型或者因为某些原因不对的话  那ui 会保持原有 (正常情况下 ui会啥东西都不显示)



culture.TwoLetterISOLanguageName = "en"

="ch"

converter用这个判断语言类型


网站公告

今日签到

点亮在社区的每一天
去签到