我的应用程序中有一个自定义触摸屏键盘:https://www.codeproject.com/Articles/32568/A-Touch-Screen-Keyboard-Control-in-WPF。 我还有一个包含所有样式和模板的ResourceDictionary。在TextBox样式中,我可以设置键盘ON / OFF:
<Style TargetType="{x:Type TextBox}">
<Setter Property="FontSize" Value="14" />
<Setter Property="Padding" Value="4" />
<Setter Property="k:TouchScreenKeyboard.TouchScreenKeyboard" Value="True"/>
</Style>
我希望用户能够从UI打开或关闭它,但无法弄清楚如何从后面的代码到达此属性。我想在没有命名样式的情况下制作它,因为它在整个应用程序中非常常用。 我试过这个,但是(毫不奇怪)得到ArgumentNotFoundException:
Style s = Application.Current.FindResource("defTextBox") as Style;
s.RegisterName("Keyboard.TouchScreenKeyboard.TouchScreenKeyBoard",false);
任何帮助将不胜感激!
答案 0 :(得分:0)
您应该像这样为TouchScreenKeyboard
个人设置TextBox
附加属性:
TouchScreenKeyboard.SetTouchScreenKeyboard(textBox1, false);
在隐式Style
本身已经应用于所有TextBox
元素之后更改其定义并不是很有意义。您应该在XAML中定义默认值,然后在需要时在运行时动态更改单个TextBoxes
的值。