0

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

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

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 不支持从字符串转换。

有没有办法在没有肮脏的黑客的情况下修复它?

4

1 回答 1

0

有没有办法在没有肮脏的黑客的情况下修复它?

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

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

您可能还想阅读以下内容:

System.ComponentModel.TypeConverter 的 WinRT 替换

于 2017-05-23T13:53:16.900 回答