Я пытался узнать о присоединенных свойствах и видел разные способы определения присоединенных свойств.
Первый вариант:
public class PeakHelper : DependencyObject
{
public static readonly DependencyProperty IsPeakProperty = DependencyProperty.RegisterAttached(
"IsPeak", typeof (bool), typeof (PeakHelper), new PropertyMetadata(false));
public static void SetIsPeak(DependencyObject target, Boolean value)
{
target.SetValue(IsPeakProperty, value);
}
public static bool GetIsPeak(DependencyObject target)
{
return (bool)target.GetValue(IsPeakProperty);
}
}
Второй вариант:
public static class ThemeProperties
{
public static Brush GetTickBrush(DependencyObject obj)
{
return (Brush)obj.GetValue(TickBrushProperty);
}
public static void SetTickBrush(DependencyObject obj, Brush value)
{
obj.SetValue(TickBrushProperty, value);
}
public static readonly DependencyProperty TickBrushProperty =
DependencyProperty.RegisterAttached(
"TickBrush",
typeof(Brush),
typeof(ThemeProperties),
new FrameworkPropertyMetadata(Brushes.Black));
}
В первом случае класс не является c и наследуется от DependencyObject. Второй вариант - это класс stati c, который не наследуется от DependencyObject.
В чем разница? один лучше другого?
Спасибо.