设置依赖项属性的可能值范围

时间:2014-09-03 11:31:27

标签: wpf

我为组件创建了一个新属性。如何限制此属性的值(并在用户选择这些值时显示)?例如,一个属性(int)XPTO,它只能取值12,13和15?谢谢!

1 个答案:

答案 0 :(得分:2)

您需要使用value coercion

public static readonly DependencyProperty XPTOProperty =
    DependencyProperty.Register("XPTO", typeof(int), typeof(ResponsiveRowIpiranga),
        new UIPropertyMetadata(10, XPTOPropertyChangedCallback, XPTOCoerceValueCallback));

private static object XPTOCoerceValueCallback(DependencyObject d, object basevalue)
{
    var sender = (ResponsiveRowIpiranga)d;

    var value = sender.XPTO;
    if (value != 10 || value != 12 || value != 13 || value != 15)
    {
        value = 10;
    }

    return value;
}