问题
I try to use enum type as a dependency property in my custom control, but always get an error:
public enum PriceCategories
{
First = 1,
Second = 2,
Third = 3,
Fourth = 4,
Fifth = 5,
Sixth = 6
}
public static readonly DependencyProperty PriceCatProperty =
DependencyProperty.Register("PriceCat", typeof(PriceCategories), typeof(CustControl), new PropertyMetadata(PriceCategories.First));
};
public PriceCategories PriceCat // here I get an error "Expected class, delegate, enum, interface or struct"
{
get { return (PriceCategories)GetValue(PriceCatProperty); }
set { SetValue(PriceCatProperty, value); }
}
Please, look. Where is mistake?
回答1:
Your DP is not being declared within the scope of a class. It looks like you have an extra closing brace after the DP declaration.
public enum PriceCategories
{
// ...
}
public static readonly DependencyProperty PriceCatProperty =
DependencyProperty.Register("PriceCat", typeof(PriceCategories),
typeof(CustControl), new PropertyMetadata(PriceCategories.First));
}; // <-- this is probably closing the containing class
来源:https://stackoverflow.com/questions/1857967/using-enum-as-a-dependency-property-in-wpf