wpf - 使用 ComboBox 控制 TabControl 事件选项卡

标签 wpf combobox tabcontrol

我真正想要实现的是通过使用组合框作为导航控件来完全控制事件的 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/

相关文章:

c# - PropertyChanged - null 和/或被另一个线程更改 - 实际示例?

wpf - 当 Windows 检测到应用挂起时记录堆栈跟踪

javascript - 如何使用 Tab 键和 JQuery 组合框选择项目

java - ComboBox 和计算出现问题

vb.net - 如何将选中的项目从选中列表框添加到组合框

wpf - 通过单击中间按钮关闭 TabItem

WPF child 自定义窗口边框

wpf - React Native Windows 安装 - 找不到 react-native-windows@0.41.*

wpf - 选项卡中的项目控制组

c# - 在不关注 TabControl 选项卡的情况下循环