我真正想要实现的是通过使用组合框作为导航控件来完全控制事件的 TabItem。
这是我到目前为止得到的:
<TabControl Canvas.Left="26" Canvas.Top="27" Height="100" Name="TabControl1" Width="220">
<TabItem Header="TabItem1" x:Name="TabItem1">
<Grid />
</TabItem>
<TabItem Header="TabItem2" x:Name="TabItem2">
<Grid />
</TabItem>
</TabControl>
<ComboBox Canvas.Left="126" Canvas.Top="134" Height="23" Name="CmbTabs" Width="120"
ItemsSource="{Binding ElementName=TabControl1, Path=Items}"
SelectedValue="{Binding ElementName=TabControl1, Path=SelectedIndex}"
SelectedValuePath="TabIndex"
DisplayMemberPath="Header"/>
仍然唯一实际起作用的是当我按下组合框的切换按钮时显示的列表。
即使通过列表选择一个 tabitem 名称也不会做任何事情,它甚至不会更新组合框的选定值文本框。
有什么帮助吗?
编辑:
好的,史蒂夫·罗宾斯的回答对于“控制”问题很有效。
在组合框下拉列表中选择一个项目不会更新组合框的值这一事实又如何呢? (组合框文本框仍然是空白的!!)
最佳答案
如果您尝试从 Combo 控制 TabControl,那么它对我来说看起来有点倒退。如果您更改选项卡控件上的 SelectedIndex 以将其绑定(bind)到组合,它应该可以工作:
<TabControl Canvas.Left="26" Canvas.Top="27" Height="100" Name="TabControl1" Width="220" SelectedIndex="{Binding ElementName=CmbTabs, Path=SelectedIndex}">
<TabItem Header="TabItem1" x:Name="TabItem1">
<Grid />
</TabItem>
<TabItem Header="TabItem2" x:Name="TabItem2">
<Grid />
</TabItem>
</TabControl>
关于wpf - 使用 ComboBox 控制 TabControl 事件选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/546119/