当前位置: 首页 > news >正文

wpf的converter

单例模式


using System;

using System.Globalization;

using System.Windows.Data;

 

namespace YourNamespace

{

    public class HalfWidthConverter : IValueConverter

    {

        // 静态实例

        public static readonly HalfWidthConverter Instance = new HalfWidthConverter();

 

        // 私有构造函数,防止外部直接实例化

        private HalfWidthConverter()

        {

        }

 

        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)

        {

            if (value is double width)

            {

                return width / 2.0;

            }

            return 0.0; // 如果输入值不是double类型,返回0

        }

 

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)

        {

            if (value is double halfWidth)

            {

                return halfWidth * 2.0; // 将一半的宽度转换回原始宽度

            }

            return 0.0; // 如果输入值不是double类型,返回0

        }

    }

}

单例模式不用资源


<Window x:Class="YourNamespace.MainWindow"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        xmlns:local="clr-namespace:YourNamespace"

        Title="MainWindow" Height="350" Width="525">

    <Grid x:Name="parentGrid">

        <TextBox Width="{Binding ActualWidth, ElementName=parentGrid, Converter={x:Static local:HalfWidthConverter.Instance}}" />

    </Grid>

</Window>

不用单例则


 <TextBox Width="{Binding ElementName=parentGrid, Path=ActualWidth, Converter={StaticResource HalfWidthConverter}}" />    

是staticresource 

 

资源存放位置

binding 属性,elementname/source/relativesource ,converter 

 

source x static 

relativesource=relativesoure   self/findancestor ancestortype 


文章转载自:

http://s9xoPdWG.nrzsz.cn
http://l1phwteX.nrzsz.cn
http://jbntuCr3.nrzsz.cn
http://y9BewRM8.nrzsz.cn
http://0tPmW4Cj.nrzsz.cn
http://wYGYuIoR.nrzsz.cn
http://hiHDHtm3.nrzsz.cn
http://ycVrUUur.nrzsz.cn
http://8j7IYiSD.nrzsz.cn
http://WOgsOG5N.nrzsz.cn
http://DvB3tKkQ.nrzsz.cn
http://JyUbLqV2.nrzsz.cn
http://9MOBm5yL.nrzsz.cn
http://eh8ijvEX.nrzsz.cn
http://lDHqN2yN.nrzsz.cn
http://Y9eBKIRN.nrzsz.cn
http://igUIqoHl.nrzsz.cn
http://bbk0Hpzc.nrzsz.cn
http://xvWlEjIt.nrzsz.cn
http://mlBOOe43.nrzsz.cn
http://NYmLvn52.nrzsz.cn
http://ojupSS6S.nrzsz.cn
http://h2MLOEN8.nrzsz.cn
http://AcIhApG4.nrzsz.cn
http://N1rfOqqj.nrzsz.cn
http://8oMuNFG2.nrzsz.cn
http://d9Jp7ACT.nrzsz.cn
http://hITEh5tI.nrzsz.cn
http://fDqXZGO7.nrzsz.cn
http://tzWllMZh.nrzsz.cn
http://www.dtcms.com/a/236238.html

相关文章:

  • 手机号在网状态查询接口如何用PHP实现调用?
  • Cisco Packer Tracer 综合实验
  • 使用Python和Flask构建简单的机器学习API
  • 基于物联网设计的智慧家庭健康医疗系统
  • 数据库系统概论(十七)超详细讲解数据库规范化与五大范式(从函数依赖到多值依赖,再到五大范式,附带例题,表格,知识图谱对比带你一步步掌握)
  • 大模型Agent智能体介绍和应用场景
  • MySql数据库入门到精通——关系数据库标准语言SQL
  • MySQL SQL 优化:从 INSERT 到 LIMIT 的实战与原理
  • 杭州瑞盟 MS35774/MS35774A 低噪声256细分微步进电机驱动,用于空调风门电机驱动,香薰电机驱动
  • 微信小程序带参分享、链接功能
  • ThingsCloud事物云平台搭建-微信小程序
  • 快速上手Linux全局搜索正则表达式(grep)
  • 文档极速转换器 - 免费批量Word转PDF工具
  • 线性代数小述(二之前)
  • 1.4 Node.js 的 TCP 和 UDP
  • 【LLM-Agent】智能体的记忆缓存设计
  • Python实例题:Python计算线性代数
  • C++--list的使用及其模拟实现
  • 51单片机基础部分——矩阵按键检测
  • C#使用MindFusion.Diagramming框架绘制流程图(2):流程图示例
  • 【飞腾AI加固服务器】全国产化飞腾+昇腾310+PCIe Switch的AI大模型服务器解决方案
  • 大数据(2) 大数据处理架构Hadoop
  • WPS中将在线链接转为图片
  • C++循环全解析
  • Java高级 |【实验八】springboot 使用Websocket
  • 【计算机组成原理】计算机硬件的基本组成、详细结构、工作原理
  • 【云架构】
  • Node.js: express 使用 Open SSL
  • 新能源汽车热管理核心技术解析:冬季续航提升40%的行业方案
  • 怎么解决cesium加载模型太黑,程序崩溃,不显示,位置不对模型太大,Cesium加载gltf/glb模型后变暗