UserControl
私はMaximumAngle
とMinimumAngle
プロパティを持っています。2つのUserControl依存プロパティーが異なる必要があります
// MinimumAngle
public double MinimumAngle
{
get { return (double)GetValue(MinimumAngleProperty); }
set { SetValue(MinimumAngleProperty, value); }
}
public static readonly DependencyProperty MinimumAngleProperty = DependencyProperty.Register(
"MinimumAngle", typeof(double), typeof(RoundGauge), new PropertyMetadata((double)0, MinimumAnglePropertyChanged));
private static void MinimumAnglePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
RoundGauge rg = (RoundGauge)d;
rg.CreateTickLines();
}
// MaximumAngle
public double MaximumAngle
{
get { return (double)GetValue(MaximumAngleProperty); }
set { SetValue(MaximumAngleProperty, value); }
}
public static readonly DependencyProperty MaximumAngleProperty = DependencyProperty.Register(
"MaximumAngle", typeof(double), typeof(RoundGauge), new PropertyMetadata((double)180, MaximumAnglePropertyChanged));
private static void MaximumAnglePropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
{
RoundGauge rg = (RoundGauge)d;
rg.CreateTickLines();
}
それがゼロに対処しなければならないときに私CreateTickLines
方法が狂っているため、これらの特性は、異なっている必要があります。
私はこれで何ができますか?
プロパティメタデータを持つ[CoerceValueCallback](https://msdn.microsoft.com/en-us/library/system.windows.coercevaluecallback(v = vs.110).aspx)を登録します。 – Clemens
おそらく、MSDNページ[依存関係プロパティのコールバックと検証](https://msdn.microsoft.com/en-us/library/ms745795(v=vs.110).aspx)で説明されているように、 'ValidateValueCallback'を使用することができます。 – Rachel