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用这个判断语言类型

相关推荐
咩图1 天前
WPF+Prism8.0.0.1909+C#创建一个桌面程序
c#·wpf·prism
雁于飞2 天前
分布式基础
java·spring boot·分布式·spring·wpf·cloud native
oioihoii2 天前
WPF入门指南:解析默认项目结构
wpf
极客智造2 天前
深入解析 ReactiveUI:WPF 响应式 MVVM 开发的 “终极方案”
wpf
Macbethad3 天前
使用WPF编写一个多维度伺服系统的程序
大数据·hadoop·wpf
lingxiao168884 天前
WPF Prism框架应用
c#·wpf·prism
Macbethad4 天前
使用WPF编写一个Ethercat主站的程序
wpf
难搞靓仔4 天前
WPF 弹出窗体Popup
wpf·popup
Macbethad4 天前
使用WPF编写一个MODBUSTCP通信的程序
wpf
unicrom_深圳市由你创科技4 天前
Avalonia.WPF 跨平台图表的使用
wpf