0

Slider のタイプである DependencyProperty SliderZoom を持つ UserControl があります。私のウィンドウには、SliderZoom という名前のコントロールがあり、バインディングを使用したいと考えています。

それは可能ですか?そうでない場合、どうすればこれに近いものを達成できますか?

ウィンドウコード

<local:NewSlider
  SliderZoom="{Binding SliderZoom}">
</local:NewSlider>

 <Slider x:Name="SliderZoom"
                Width="150"
                Interval="1"
                Maximum="10"
                Minimum="0" />

UserControl NewSlider コード

    public Slider SliderZoom
    {
        get { return (Slider)GetValue(ZoomSliderProperty); }
        set { SetValue(ZoomSliderProperty, value); }
    }

    public static readonly DependencyProperty ZoomSliderProperty =
    DependencyProperty.Register("SliderZoom", typeof(Slider), typeof(NewTimeSlider),
    new PropertyMetadata(OnZoomSliderChanged));

    private static void OnZoomSliderChanged(DependencyObject dependencyObject,DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
    {
        var AdvanceTimeSlider = dependencyObject as NewTimeSlider;

        if (AdvanceTimeSlider != null)
        {
            AdvanceTimeSlider.OnZoomSliderChanged(dependencyPropertyChangedEventArgs);
        }
    }


    private void OnZoomSliderChanged(DependencyPropertyChangedEventArgs e)
    {
        SliderZoom.ValueChanged += SliderZoom_OnValueChanged;
        var _thumb = SliderTimeLine.Template.FindName("Thumb", SliderZoom) as Thumb;
        _thumb.DragCompleted += SliderZoom_OnDragCompleted;
        _thumb.DragStarted += SliderZoom_OnDragStarted;
    }
4

1 に答える 1