C# wpf中关于binding的converter无效的情况

最近碰到bingding设置了convert转换无效的问题。困扰了我好久。这里记录分析一下。

先说下现象

我把TextBox的text属性  绑定到了对应的 convert.代码如下

希望吧pd_no转义成产品名称

断点跟进显示转换器有效且转换成功了,但界面却没有显示对应的 pd_no转换后的 产品名称。

同样的绑定。在datagrid中的cloumn中,却成功的转换成产品名称了

想了半天没想明白。

注意到 DictConverter的convert函数,返回值类型是StringBuilder。恍然大悟。convert函数的返回类型是object 你可以给她返回任意对象。但是TextBox的Text属性是string类型。

你给她返回一个StringBuilder,她似乎不知道咋显示了。(这里应该StringBuilder和string没有啥亲戚关系。系统没有默认的转换,自己推断,如有问题请指教)。于是加一个

retrun aaa.toString();

OK ,显示成功。object类型的返回值,你返回啥她都吃了,但吃了对应的界面控件中的属性,不是所有类型都能消化0.0.这里好好好想明白。

感觉c#的Object类型,是一个很灵活也有很容易忽略问题的东西。是一把双刃剑。但必须得好好掌握!

 

 

转载于:https://www.cnblogs.com/CSSZBB/p/8287458.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值