为什么在切换到另一个TabItem后选择了ComboBox的第一项?

时间:2013-02-21 20:43:29

标签: wpf combobox selection tabcontrol tabitem

我有一个TabControl,其中有三个TabItems。每个TabItems中只有一个ComboBox。如果我切换TabItems,则会选择ComboBoxes的第一个条目。但我希望没有选择任何东西。怎么做?

以下是一些截图:

首次调用表单后,没有选择任何内容 enter image description here

切换到第二个选项卡后,选择组合框的第一个元素 enter image description here

更新:这是此示例的代码

   <Window x:Class="WpfApplication1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Width="525" SizeToContent="Height">
<Grid>
    <TabControl>
        <TabItem Header="Test 1">
            <ComboBox>
                <ComboBoxItem>Test 1</ComboBoxItem>
                <ComboBoxItem>Test 2</ComboBoxItem>
            </ComboBox>
        </TabItem>
        <TabItem Header="Test 2">
            <ComboBox>
                <ComboBoxItem>Test 1</ComboBoxItem>
                <ComboBoxItem>Test 2</ComboBoxItem>
            </ComboBox>
        </TabItem>
        <TabItem Header="Test 3">
            <ComboBox>
                <ComboBoxItem>Test 1</ComboBoxItem>
                <ComboBoxItem>Test 2</ComboBoxItem>
            </ComboBox>
        </TabItem>
    </TabControl>
</Grid>

没有约束力。 Visual Studio Express 2010中的一个全新项目。

这是背后的代码:

using System.Windows;
namespace WpfApplication1
{
   public partial class MainWindow : Window
   {
      public MainWindow()
      {
        InitializeComponent();
      }
   }
}

3 个答案:

答案 0 :(得分:1)

示例代码中没有错误。

这是代码吗?

尝试删除任何已选择的项目,或者如果有绑定请说明它给你一个答案。

No error

答案 1 :(得分:1)

借助你的帮助和漫长的网络旅程,我现在知道,没有办法避免这种行为,第一个专注于tabitem的孩子会集中注意力,而没有一些代码:(

谢谢大家的回答,尤其是@makc的建议,蓝色背景意味着组合框是专注的。

答案 2 :(得分:0)

尝试将FocusVisualStyle设置为null for combobox -

            <ComboBox FocusVisualStyle="{x:Null}">
                <ComboBoxItem>Test 1</ComboBoxItem>
                <ComboBoxItem>Test 2</ComboBoxItem>
            </ComboBox>