Я разрабатываю экранную клавиатуру для использования в приложении стиля киоска. Я строю его таким образом, что хочу, чтобы экранная клавиатура отображала предварительный просмотр любого текста, который вводит пользователь, используя клавиатуру.Как установить привязку родительского UIElement к прикрепленному свойству?
В xaml Я хочу добавить вложенное свойство для ввода элементов управления в моем приложении, например TextBox или ComboBox. Я хочу, чтобы элемент управления предварительного просмотра на моем OnScreenKeyboard был привязан к тому же значению, к которому привязан базовый элемент управления. Поэтому, если пользователь нажимает на TextBox, предварительный просмотр на экранной клавиатуре также является TextBox и также привязан к тому же базовому значению, что и TextBox, например. TextBox.Text.
Изображение Я Приведенную выше, как моя клавиатура будет выглядеть. Поскольку клавиатура сама по себе является всплывающей в фиксированной позиции (нижний центр экрана), клавиатура может закрывать входной элемент управления (TextBox, PasswordBox, ComboBox, RichTextBox и т. Д.), Который пользователь нажал, чтобы вызвать клавиатуру, следовательно, требование предварительного просмотра как части клавиатуры.
Я знаю, что в XAML я могу создать вложенное свойство, такие как
<TextBox Text="{Binding Path=Entity.TextValue}" OSK.PopupKeyboard.UIElementControl="{How do I bind this to this parent control?}"/>
То, что я хотел бы сделать, это передать родительский контроль, такие как текстовое поле с клавиатуры, установите панель предварительного просмотра по извилистым верхняя часть моей клавиатуры была того же типа с теми же привязками, что и базовый элемент управления, на который пользователь нажал, чтобы вызвать клавиатуру. Таким образом, значения, введенные в предварительный просмотр на клавиатуре, отражаются на элементе управления, который пользователь щелкнул, чтобы вызвать клавиатуру в первую очередь. Я также полагаю, что это позволит клавиатуре быть гибкими с типом элементов управления, которые могут быть использованы для вызова.
Вы упомянули, что эта клавиатура является неподвижной частью вашего права приложения киоска ? Значит, вы могли бы просто ссылаться на него с помощью ElementBinding? '{Binding ElementName = controlname, Path = someproperty}' Или мне что-то не хватает? –
@WolfgangZiegler Вот что я хочу. Действительно, что я хочу сделать, это привязать весь TextBox, ComboBox или тому подобное к клавиатуре, чтобы окно предварительного просмотра вверху было одним и тем же типом управления с тем же значением. Я хочу избежать использования именованных элементов управления, поскольку я беру подход MVVM. Так что-то вроде {Binding this.control}, если вы понимаете, что я имею в виду? Я понимаю, что, возможно, я не объясняю это хорошо. Кроме того, ваше имя полностью напомнило мне об этом http://www.dilbert.com/strips/comic/2010-05-16/ –
Ха-ха, хороший! Я дам вам преимущество для Дилберта. –