Xaml 如何添加具有离散字符串值集的依赖项属性?

Xaml 如何添加具有离散字符串值集的依赖项属性?,xaml,c#-4.0,wpf-controls,wpf-4.0,Xaml,C# 4.0,Wpf Controls,Wpf 4.0,标准WPF元素中的许多属性都支持一组小的离散值,这些值可以在XAML中创建元素时指定为字符串。例如,StackPanel的方向属性支持“水平”和“垂直”作为离散属性。IntelliSense通过在打开方向属性的引号后提供这两个选项来帮助您。我知道将这些值转换为System.Windows.Controls.Orientation enum类型的枚举值时涉及到值转换器 如何为自定义控件的自定义依赖项属性执行此操作?我希望它在IntelliSense帮助和所有帮助下能够像处理标准元素依赖属性一样工作

标准WPF元素中的许多属性都支持一组小的离散值,这些值可以在XAML中创建元素时指定为字符串。例如,StackPanel的方向属性支持“水平”和“垂直”作为离散属性。IntelliSense通过在打开方向属性的引号后提供这两个选项来帮助您。我知道将这些值转换为System.Windows.Controls.Orientation enum类型的枚举值时涉及到值转换器

如何为自定义控件的自定义依赖项属性执行此操作?我希望它在IntelliSense帮助和所有帮助下能够像处理标准元素依赖属性一样工作


谢谢

如果它们在运行时不会更改,答案是
enum
。如果它们确实发生了变化,我处理它们的方式就是使用字符串(或实现
ToString()
的对象)和填充可能值的转换器


顺便说一句,这与普通WinForms属性网格的工作方式相同。

因此枚举依赖属性的枚举字符串转换将在XAML中自动神奇地发生?这是正确的,
enum
s包含WPF确定可以键入什么和不能键入什么所需的所有信息。平面类型需要一个列出可能值的附加类,即转换器。