С помощью элементов управления Telerik Silverlight, как я могу преобразовать RadMaskedTextBox в текстовое поле

#silverlight #telerik #radmaskedtextbox

#silverlight #telerik #radmaskedtextbox

Вопрос:

Я пытаюсь определить, допускает ли Telerik RadMaskedTextBox многострочный ввод.

Я отладчик, я смог найти и проверить.Принимает свойство Return базового текстового поля, используя:

 ((System.Windows.Controls.TextBox)(((Telerik.Windows.Controls.RadMaskedTextBox)(this)).textBox)).AcceptsReturn;
  

Однако, когда я вставляю это в свой код C #, компилятор жалуется, что RadMaskedTextBox не может быть преобразован в текстовое поле

Немного странно, поскольку отладчик это допускает.

Отладчик также позволяет:

 ((System.Windows.Controls.TextBox)(((Telerik.Windows.Controls.RadMaskedTextBox)(this)).textBox)).TextWrapping
  

на это жалуется компилятор

Есть идеи?

Комментарии:

1.Возможно, это textBox protected или private ?

2. @Todda; Да, текстовое поле этого элемента управления является закрытым элементом RadMaskedTextBox

Ответ №1:

Я пытался сделать это в прошлом (извините, не могу вспомнить точный способ для этого), но мне пришлось обойти объект и найти элемент управления текстовым полем. Если я смогу найти проект, в котором я это сделал, я обновлю свой ответ.

Комментарии:

1. Итак, я изучил это, и текстовое поле этого элемента управления на самом деле является закрытым элементом RadMaskedTextBox. Я думаю, прежде чем я закончил созданием своего собственного класса, который предоставил мне доступ к текстовому полю с использованием Reflector. Возможно, вы сможете использовать отражение, чтобы получить доступ к участнику, но лично я бы не пошел по этому пути.

Ответ №2:

С форума поддержки Telerik:

Базовое текстовое поле имеет тип ExtendedTextBox. Вы можете получить к нему доступ следующим образом:

 var innerBox = this.masktextBox.ChildrenOfType<Telerik.Windows.Controls.MaskedTextBox.ExtendedTextBox>().FirstOrDefault();