WPF中一个TextBox跟后台的一个long的属性做了绑定
界面上修改textbox的值,是应该要进入到该属性的set里边的吧?
但如果修改的textbox的值不是整数,根本不会进入到set里边,这是什么原因呢?

解决方案 »

  1.   

    这要看的 绑定方式了,你如果设置 OnpropertyChanged 就是一改变就会去给属性赋值,如果其他的就不一定了
      

  2.   

      set赋值的时候才能进入,赋值之前会检测类型,类型不对直接报错,怎么进?
      

  3.   

    最好输入的时候就校验合法性,有没有用set取决于是否有对相关属性赋值
    你在后台判断的时候调用的是get
      

  4.   

    你的意思是说,绑定好一个类型的属性之后,会自动对类型进行检测?
    我现在就是需要把这个报错的过程提取出来呈现给用户.现在如果输入类型不对,界面上确实有所区别(区别是textbox的边框变成红色),那怎么才能把这个界面上的区别提取出来,让后台知道呢?
      

  5.   

    不是,现在的需求是只有整数才是有效输入,我的做法是在输入后做其他操作的时候判断输入值是否有效.
    结果,发现界面上修改过的数据,实际上并没有更改到后台你说的“输入后做其他操作的时候判断”是怎么样判断的?WPF绑定时转换http://msdn.microsoft.com/zh-cn/library/vstudio/ms752347.aspx#data_conversion
      

  6.   

    不是,现在的需求是只有整数才是有效输入,我的做法是在输入后做其他操作的时候判断输入值是否有效.
    结果,发现界面上修改过的数据,实际上并没有更改到后台你说的“输入后做其他操作的时候判断”是怎么样判断的?WPF绑定时转换http://msdn.microsoft.com/zh-cn/library/vstudio/ms752347.aspx#data_conversion
    谢了,文章中数据验证的部分比较有用