【问题标题】:TextBox CaretIndex property in ViewModelViewModel 中的 TextBox CaretIndex 属性
【发布时间】:2011-06-27 00:16:48
【问题描述】:

是否可以通过视图中定义的绑定来获取/设置 wpf 中视图模型中 TextBox 控件的 CaretIndex 属性的值?

谢谢

【问题讨论】:

标签: wpf mvvm binding caret


【解决方案1】:

您不能绑定属性CaretIndex,因为它不是DependencyProperty。这是一个 CLR 不接受绑定的属性。

【讨论】:

    【解决方案2】:

    这里的问题是如何通过视图模型获得TextBox控件的CaretIndex。 如果您打算通过绑定到视图模型来直接获取它,那是不可能的。正如我在上一个答案中发布的那样,它是 CLR 属性而不是依赖属性。

    我们能做什么?

    最好的解决方案是按照以下步骤操作:

    1. 通过单独的类在控件上定义附加属性。
    2. 在视图模型中定义一个属性并将附加的属性绑定到视图模型中的那个
    3. 根据接收到的新值更新附加属性更改事件回调中的控件属性。

    在这种情况下,我们仍然将视图与模型分开。

    希望我的回答对你有帮助!

    【讨论】:

      猜你喜欢
      • 2011-04-29
      • 1970-01-01
      • 2015-11-11
      • 1970-01-01
      • 2012-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多