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;
}