WPF 中设置Combox下拉框Text 显示值

最近在写一个WPF客户端的一个小程序,其中有个小需求如下:

  1. 展示下拉列表里面有树形结构
  2. 点击下拉子项时同时显示父级和子级文本

也就是说在DisplayMember 中有两种显示方式

  1. 下拉列表显示时,显示的是DisplayMember 的值
  2. 点击选中子项时,需要计算子级和父级的文本并进行拼接,然后显示在combox 中

一开始没有多想就想应该直接设置combox.Text 不就可以搞定了么,问题很简单的嘛!于是就设置了下

发现不起作用!最后查了msdn 说是combox 的 IsEditable=true 时 设置下拉框的Text才有效,于是就启用了IsEditable,运行调试发现仍然没有卵用!!

问题来了,怎么搞?那换个思路,重写Combox ? 我觉得太麻烦,就没有往这方面想,毕竟界面用的没有几个下拉框。那有没有什么先简单的方式呢?

我的思路:

    使用Textbox做高宽统一放置在Combox的上方,漏出下拉框的下拉箭头,把Textbox做成透明层(这里不是界面透明,是事件穿透哦),把Combox 与Textbox 分组为一组Gird中 做好高宽自动同步拉伸,注意在控件命名的时候最好有规律哦,后面要用到的。

xaml如下:

         <Grid Margin="62,4,220,33"><ComboBox x:Name="cmbCategoryAdd1"/><TextBox IsReadOnly="True" x:Name="txtcmbCategoryAdd1" Text="" Margin="0,0,18,0"/></Grid>

显示如下

选择:  未选择:

有没有感觉很逼真,其实上方是Textbox,好吧,现在要把Textbox 做成透明层代码如下:

            TextBox text = window.GetControlByName<TextBox>("txt" + comboBox.Name);text.Text = comboBox.GetComboxSelectedValue();text.IsHitTestVisible = false;//设置文本框为透明层

这就把Textbox 设置为透明层啦!下面来做下拉框选中以后改变Textbox 的值:

            //下拉框选择变化时发生comboBox.SelectionChanged+=new SelectionChangedEventHandler((sender, args) =>{TextBox text2 = window.GetControlByName<TextBox>("txt" + comboBox.Name);text2.Text = comboBox.GetComboxSelectedValue();});

代码里的window就是当前窗口(this),GetControlByName 也贴出来

        #region 根据控件名称,查找控件/// <summary>/// 根据控件名称,查找控件/// </summary>public static T GetControlByName<T>(this Window obj, string elementName) where T : FrameworkElement{return ((T)obj.FindName(elementName));}#endregion
现在查看下效果

嗯,不错,效果还是很满意的,没有重写Combox,这样放置个透明Textbox 简单两句代码就可以实现啦。小东西,目的是为了培养自己写博客的习惯。

 

 

转载于:https://www.cnblogs.com/nodes/p/8681969.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453090.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单的文件上传功能实现(java)

现在很多做后台系统的项目大部分都会用到文件上传这个功能&#xff0c;网上有很多例子&#xff0c;这边是自己用SSM框架技术做的一个简单的文件上传功能。 在写文件上传功能前首先要导入相应的jar包&#xff1a; commons-fileupload-1.3.1-jar &#xff1b;commons-io-2.2-jar …

增量导出_[华为]一种实用的增量式深度CTR模型训练方法

今天给大家介绍一篇有关深度CTR模型增量训练的文章&#xff0c;来自华为诺亚方舟实验室。1、背景深度CTR模型需要大量的数据进行训练&#xff0c;同时需要不断的更新以适应最新的数据分布。如果模型没有及时更新&#xff0c;则有可能带来线上效果的衰减&#xff0c;如下图&…

win7如何添加终端服务器,Windows7系统超级终端的添加方法 win7如何添加超级终端...

有用户在刚升级到Windows7系统以后反映&#xff0c;在XP 操作系统里&#xff0c;超级终端是很好用的&#xff0c;但是却不知道为什么&#xff0c;升级为Windows7系统后却找不到超级终端在哪&#xff0c;出现这样的情况让用户非常的烦恼&#xff0c;其实找不到超级终端&#xff…

腾讯这家公司的核心竞争力是什么?为什么?

Andy Pan &#xff0c;腾讯无线国际业务产品总监, 腾讯国际业务部... 我决定在国外出差的最后一晚晚点休息,在酒店静静的认真的回答这个问题。我尽量客观的负责的回答&#xff0c;不愤青&#xff0c;不炫耀&#xff0c;不攻击&#xff0c;用朴实的语言。只代表我个人的思考&…

h.323 服务器 作用,Cisco CallManager服务器冗余的H.323 网关拨号对端配置

语音、视频和集成数据 (AVVID) 设计的体系结构一般建议您具有主 Cisco CallManager 服务器和辅助 Cisco CallManager 服务器以实现冗余。如果主 Cisco CallManager 服务器发生故障&#xff0c;则辅助 Cisco CallManager 服务器将接管&#xff0c;并且 IP 电话将重定向到此服务器…

xmind可以画流程图吗_新娘妆可以自己画吗?临夏化妆学校告诉你答案!

对于很多女性来说&#xff0c;一生中最重要的时候无疑是新婚的那一天&#xff0c;古时候的闺阁女子&#xff0c;凤披霞冠&#xff0c;八台大轿&#xff0c;携手自己的如意郎君相伴一生&#xff0c;现代女子&#xff0c;洁白的婚纱&#xff0c;手握鲜花&#xff0c;一枚戒指&…

wget 地址 连接超时_HttoPool连接池 和Hystrix 服务容错机制

学习主题&#xff1a;httpPool&Hystrix学习目标&#xff1a;对应视频: http://www.itbaizhan.cn/course/id/85.html对应文档:无对应作业1. 编写支持Gzip压缩案例(1) 修改Consumer的全局配置文件&#xff0c;添加Gzip相关配置。spring.application.nameeureka-consumer-http…

街舞中的rolling机器人_REMEMBER街舞培训中心2020年元旦汇演

二零二零 元旦汇演REMEMBER2020年1月1日&#xff0c;Remember街舞培训中心在爱琴海购物公园进行了两个小时的汇报表演&#xff0c;Remember的学员们贡献了非常精彩的表演。在过去的2019年&#xff0c;我们一路探索、一路艰辛、一路欣喜、一路收获&#xff0c;在这里感谢所有老…

shell基础(上)

2019独角兽企业重金招聘Python工程师标准>>> 一 shell介绍 shell 是一个命令解释器。本质上是用户与计算机之间的交互。 用户把指令告诉shell&#xff0c;然后shell再传输给系统内核&#xff0c;接着内核再去支配计算机硬件去执行各种操作。 每个用户都可以有自己特…

webRTC实战总结

前言 前段时间一直在忙一个基于WebRTC的PC和移动端双向视频的项目。第一次接触webRTC&#xff0c;难免遇到了许多问题&#xff0c;比如&#xff1a;webRTC移动端兼容性检测&#xff0c;如何配置MediaStreamConstraints&#xff0c; 信令(iceCandidate, sessionDescription)传输…

谷歌虚拟服务器申请,【美国podserver.info】免费300M虚拟主机空间申请使用教程

【美国podserver.info】注册使用教程&#xff1a;1、打开申请地址&#xff0c;点击下图位置中的“Sign Up”开始注册。2、点击“Sign Up”开始注册后&#xff0c;进入到注册检查页面&#xff0c;我们按下图选择“I’m a human.”然后点击“Submit”进入到注册信息填写页面。3、…

web服务器文件管理,web文件管理服务器

web文件管理服务器 内容精选换一换该任务指导用户在SSL证书管理平台下载证书。证书状态为已签发或托管中。仅支持在证书有效期内&#xff0c;不限次数的下载证书&#xff0c;下载后即可在服务器(华为云的或非华为云的均可)上进行部署。证书请求文件选择的是系统生成CSR&#xf…

伟大公司为什么需要技术型领导?

Facebook前工程总监黄易山撰写了一系列文章&#xff0c;很好地总结了Facebook卓越研发文化中的宝贵经验。本文是这一系列文章的第五篇&#xff0c;也是最后一篇。 何谓技术型领导 所有从外部聘用的管理人员包括技术部门负责人&#xff0c;都必须能够编写代码&#xff0c;并且…

css样式变 及实际用法

<html xmlns"http://www.w3.org/1999/xhtml"><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><title>引入外部样式</title><link rel" stylesheet" href"home.css&…

服务器部署的参数文档,服务器参数配置

服务器参数配置 内容精选换一换源端服务器迁移至华为云后&#xff0c;最终将迁移到弹性云服务器上。因此在迁移前&#xff0c;您需要在华为云中创建一个或多个弹性云服务器。进入“弹性云服务器”页面。关于参数的详细信息&#xff0c;请参见购买弹性云服务器。Windows系统的目…

IS-IS基本配置

实验内容&#xff1a;现在网络中有4台路由器&#xff0c;用户希望利用这4台路由器通过IS-IS协议实现网络互联&#xff0c;并且因为R1和R2性能相对较低&#xff0c;所以还要使这两台路由器处理的数据信息相对较少。 网络拓扑&#xff1a; 实验分析&#xff1a; 根据题意可知R1和…