WPF用户控件依赖属性如何设置可选值?

在主窗体添加用户控件时,怎么把自定义的属性值设置为几个可选项,而非随意输入?

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/1079622
  • 这篇博客也不错, 你可以看下WPF 控件自定义模板之:圆形进度条
  • 您还可以看一下 赵庆明老师的WPF贪吃蛇游戏开发详解课程中的 课程介绍及工具准备【免费观看】小节, 巩固相关知识点
  • 除此之外, 这篇博客: 使用 WPF 开发一个 Windows 屏幕保护程序中的 处理屏幕保护程序参数 部分也许能够解决你的问题。
  • 以下回答由chatgpt基于相关博客总结生成:

    回答:

    可以通过定义一个枚举类型的依赖属性来实现在WPF用户控件中设置可选值的需求。

    以下是具体的解决方案:

    1. 创建枚举类型 首先,我们需要创建一个枚举类型来定义可选值。在代码中添加以下内容:

    public enum MyPropertyValues
    {
        Value1,
        Value2,
        Value3
    }
    

    2. 创建依赖属性 接下来,我们创建一个依赖属性来表示要设置的属性。在用户控件的类中,添加以下代码:

    public static readonly DependencyProperty MyPropertyProperty =
        DependencyProperty.Register("MyProperty", typeof(MyPropertyValues), typeof(YourUserControl), new PropertyMetadata(MyPropertyValues.Value1));
    
    public MyPropertyValues MyProperty
    {
        get { return (MyPropertyValues)GetValue(MyPropertyProperty); }
        set { SetValue(MyPropertyProperty, value); }
    }
    

    这样,我们就创建了一个名为 "MyProperty" 的依赖属性,并将其类型设置为我们创建的枚举类型。同时,我们还设置了该属性的默认值为 "Value1"。

    3. 在XAML中使用 现在,我们可以在XAML中使用这个用户控件,并设置 "MyProperty" 的值。

    <YourUserControl MyProperty="Value2" />
    

    以上代码将设置 "MyProperty" 的值为 "Value2"。

    这样就实现了在WPF用户控件中设置可选值的依赖属性的需求。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

用下拉框控件就是了。

是类似于设置控件HorizontalAlignment属性时,会自动给“Center,Left,Right, Stretch” 这几个值,选择后就变成HorizontalAlignment = “Left”这样子。那么自定义的依赖属性设置值时该怎么实现这种效果?