在通用基类中注册的依赖属性

时间:2016-12-29 17:07:52

标签: wpf controls dependency-properties

我正在尝试使用通用抽象基类构建一个验证文本框控件,如下所示,并注册Min和Max值:

public abstract class ValidatingTextBoxBase<T, C> 
    : TextBox where T : Icomparable<T>


public static readonly DependencyProperty MinValueProperty = 
    DependencyProperty.Register("MinValue", typeof(T), typeof(C), 
    new FrameworkPropertyMetadata(DefaultMinValue));

    public T MinValue
    {
        get { return (T)GetValue(MinValueProperty); }
        set { SetValue(MinValueProperty, value); }
    }

然后我声明了几个文本框控件:

public class IntegerTextBox : ValidatingTextBoxBase<int, IntegerTextBox>
{

public class DecimalTextBox : ValidatingTextBoxBase<decimal, DecimalTextBox>
    {

在运行时,这很有用,但是我为

设置了很多设计时错误
'MinValue' property was already registered by 'DecimalTextBox'

或者它将是IntegerTextBox或其他一个,具体取决于哪个视图是打开的。

任何想法/帮助都将不胜感激。

0 个答案:

没有答案