2

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

H.B.
  • 166,899
  • 29
  • 327
  • 400
TheITGuy
  • 635
  • 3
  • 9
  • 19

2 Answers2

5

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!

Ashraf Sayied-Ahmad
  • 1,715
  • 2
  • 18
  • 21
4

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

Ashraf Sayied-Ahmad
  • 1,715
  • 2
  • 18
  • 21