ValueConverter转换器WPF

  1. 属性搭桥 比如BoolToVisibility 创建两个属性 Bool Visibility 这样不好 混乱了viewmodels 降低了泛用性

  2. 系统自带的convertor

    html 复制代码
    <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的资源字典里面
复制代码
ConverterParameter=Hidden  还是不建议写属性 建议写在Parameter里面  写成属性的话就不能单独设置了
cs 复制代码
<!-- 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用这个判断语言类型

相关推荐
heimeiyingwang21 小时前
【架构实战】状态机架构:订单/工单状态流转设计
观察者模式·架构·wpf
KmSH8umpK2 天前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第三篇
redis·分布式·wpf
KmSH8umpK2 天前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案
redis·分布式·wpf
武藤一雄2 天前
WPF:MessageBox系统消息框
前端·microsoft·c#·.net·wpf
武藤一雄2 天前
WPF进阶:万字详解WPF如何性能优化
windows·性能优化·c#·.net·wpf·.netcore·鲁棒性
wangnaisheng2 天前
【WPF】路由事件详细使用
wpf
雨浓YN3 天前
GKMLT通讯工具箱(WPF MVVM) - 07-倍福ADS通讯
网络·wpf
雨浓YN3 天前
GKMLT通讯工具箱(WPF MVVM) - 04-三菱MC通讯
wpf
不会编程的懒洋洋3 天前
WPF XAML+布局+控件
xml·开发语言·c#·视觉检测·wpf·机器视觉·视图
雨浓YN3 天前
GKMLT通讯工具箱(WPF MVVM) - 06-OPCUA通讯
wpf