我正在构建一个简单的应用程序,主要由TabControl和带有Slider的StatusBar组成。每个标签都包含一个可以放大的自定义控件。出。状态栏中的滑块应该为用户提供放大和放大的能力。 out当前所选标签的内容。我的问题是我无法将滑块值分配给当前选定的自定义控件。
这是我的TabControl的xaml:
<TabControl x:Name="MyTabControl" ItemsSource="{Binding MyItems}">
<TabControl.ContentTemplate>
<DataTemplate>
<controls:MyControl x:Name="foo" DataContext="{Binding}">
</controls:MyControl>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
对于滑块,我想要这样的东西,但它应该绑定到&#34; foo.bar&#34;当前所选标签的属性:
<Slider
Value="{Binding ElementName=foo, Path=bar}">
</Slider>
这是可能的,还是有更好的方法来使用Slider来调整和显示当前所选自定义控件的属性?
答案 0 :(得分:0)
您可以尝试将Value
属性添加到为每个DataContext
设置为TabItem
的类(或类)中。然后,您可以使用Slider.Value
属性将Value
属性绑定到选定TabItem
的数据项中的TabControl.SelectedItem
属性。试试这个:
<Slider Value="{Binding Path=SelectedItem.Value, ElementName=MyTabControl}" />