开发者

TextBox CaretIndex property in ViewModel

Is it possible to get/set the value of开发者_开发问答 CaretIndex property of a TextBox control in viewmodel in wpf via Binding defined in view?

Thanks


You can not bind the property CaretIndex since it is not a DependencyProperty. It is a CLR property that does not accept binding.


The issue here is how to get the CaretIndex of the TextBox control via the view model. If you intent to get it directly by binding to the view model its impossible. As I posted in the previous answer its a CLR property and not a dependency property.

What can we do?

The best solution for that is to follow the steps:

  1. Define attached property on the control via separate class.
  2. Define a property in the view model and bind the attached property to the one in the view-model
  3. Update the control property in the callback of the attached property changed event according to the new value received.

In this case, we still separate the view from the model.

I hope my answer helps you!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜