InputScope 依赖项 属性、XAML 设计器问题 + 错误

InputScope dependency property, XAML designer problems + errors

我有一个由按钮和文本框组成的控件。

我想设置文本框的输入范围,所以我引入了一个新的依赖属性:

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 中有蓝色下划线,还有一条错误消息: "InputScope" 的 TypeConverter 不支持从字符串转换。

有没有办法修复它而无需肮脏的黑客攻击?

Is there a way to fix it without a dirty hack?

您可以实现类型转换器。请参阅 Tim Heuer 的博客 post 以获取更多信息和示例:

在 UWP 中实现类型转换器 XAML: http://timheuer.com/blog/archive/2017/02/15/implement-type-converter-uwp-winrt-windows-10-xaml.aspx

您可能还想阅读这篇文章:

WinRT Replacement for System.ComponentModel.TypeConverter