如何在C#WPF中获取并绑定Slider的值?

Sam*_*met 0 c# wpf slider kinect

我可以在这里获得滑块的值:

    public void TheSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
    {


        int k = (int)TheSlider.Value;

        Debug.WriteLine(k);

    }
Run Code Online (Sandbox Code Playgroud)

在这一部分中,我无法获取该值,因此无法使用它:

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
       _runtime.NuiCamera.ElevationAngle = (int)TheSlider.Value;
    }
Run Code Online (Sandbox Code Playgroud)

这是xaml中的滑块代码:

    <Slider x:Name="TheSlider"
            DockPanel.Dock="Left"
            Orientation="Horizontal"
            HorizontalAlignment="Center"
            HorizontalContentAlignment="Center"
            Minimum="-27"
            Maximum="27"
            Cursor="Hand"
            IsSnapToTickEnabled="True"
            Margin="322,392,329,87" ValueChanged="TheSlider_ValueChanged" Width="144" />
Run Code Online (Sandbox Code Playgroud)

这里有什么问题?你能帮我吗?

更新:

        public override void OnApplyTemplate()
    {
        base.OnApplyTemplate();
        System.Windows.Data.Binding b = new System.Windows.Data.Binding();
        b.ElementName = "TheSlider";
        b.Path = new PropertyPath("Value");
        SetBinding(ElevationAngleProperty, b);

    }

    public int ElevationAngle
    {
        get { return _runtime.NuiCamera.ElevationAngle; }

        set { _runtime.NuiCamera.ElevationAngle = value; OnPropertyChanged("ElevationAngle"); }
    }


    public DependencyProperty ElevationAngleProperty { get; set; }
Run Code Online (Sandbox Code Playgroud)

Goo*_*oot 5

当我只想将滑块的值设置为Label的内容时,我只需这样做:

<Label Content="{Binding ElementName=mySlider, Path=Value}"/>
Run Code Online (Sandbox Code Playgroud)

如果要将值显示为整数,则每次滑块更改其值时都必须保存该值。

<Slider  Name="mySlider" ValueChanged="SliderValueChanged" />

...
this.sliderValue = (int) mySlider.Value;
Run Code Online (Sandbox Code Playgroud)

然后将标签的内容绑定到它。