我有一个由按钮和文本框组成的控件。
我想设置文本框的输入范围,所以我引入了一个新的依赖属性:
public InputScope InputScope
{
get { return (InputScope)GetValue(InputScopeProperty); }
set { SetValue(InputScopeProperty, value); } // Notify prop change
}
public static readonly DependencyProperty InputScopeProperty =
DependencyProperty.Register(nameof(InputScope), typeof(InputScope), typeof(SearchControl), new PropertyMetadata(DependencyProperty.UnsetValue));
在 XAML 中:
<controls:SearchControl InputScope="Number" /> <!-- etc... -->
(显然,以此自定义控件的样式将其分配给文本框的 InputScope 属性。
我的问题:虽然这有效,但数字键盘在聚焦时会显示,但我在 XAML 中有蓝色下划线,并且还有一条错误消息:"输入范围"的类型转换器不支持从字符串转换。
有没有办法在没有肮脏黑客的情况下修复它?
有没有办法在没有肮脏黑客的情况下修复它?
您可以实现类型转换器。请参阅Tim Heuer(蒂姆豪雅(的博客文章了解更多信息和示例:
在 UWP XAML 中实现类型转换器:http://timheuer.com/blog/archive/2017/02/15/implement-type-converter-uwp-winrt-windows-10-xaml.aspx
您可能还想阅读以下内容:
WinRT 替代 System.ComponentModel.TypeConverter