【问题标题】:TabItem Selected not Working Properly选择的 TabItem 无法正常工作
【发布时间】:2016-01-07 11:20:26
【问题描述】:

我有一个TabControl,其中包含三个TabItems。我在每个TabItem 上都有一个标签,所以我可以对点击事件进行编程,它看起来像这样;

<TabItem.Header>
    <Label Content="People" HorizontalAlignment="Stretch" FontSize="14" MouseLeftButtonDown="TabItemClick"/>
</TabItem.Header>

我想对TabItem 点击进行编程,以便根据选择的TabItem 发生一些事情,所以我写了这样的东西;

private void TabItemClick(object sender, MouseButtonEventArgs e)
{
    var privilegeService = new PrivilegeService();
    if (companyTabItem.IsSelected == true)
    {
        generateCompanyPrivilegesButton.IsEnabled = true;
        applyCompanyPrivilegesButton.IsEnabled = false;
    }
    else if (peopleTabItem.IsSelected == true)
    {
        MessageBox.Show("People Selected");
        generatePeoplePrivilegesButton.IsEnabled = false;
        applyPeoplePrivilegesButton.IsEnabled = false;
    }
    else if (contractTabItem.IsSelected == true)
    {
        generateContractsPrivilegesButton.IsEnabled = false;
        applyContractsPrivilegesButton.IsEnabled = false;
    }
}

如您所见,我添加了 MessageBox 用于某些测试目的,以查看何时选择了 TabItemMessageBox 仅在我离开 peopleTabItem 后显示,而不是在我单击它时显示。如何更改此设置,以便我可以编程在单击 TabItem 以及选择它时发生的事情?

【问题讨论】:

    标签: c# wpf tabcontrol tabitem


    【解决方案1】:

    我将使用不同的方法。你可以像这样使用你的 TabControl 的 TabControl void SelectionChanged 事件:

    XAML:

    <TabControl x:Name="testTab" SelectionChanged="TabControl_SelectionChanged">
    

    后面的代码:

    void TabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
      // you can use testTab.SelectedItem here or youtTab.IsSelected
    }
    

    【讨论】:

      猜你喜欢
      • 2011-02-10
      • 2014-10-31
      • 2017-04-07
      • 2013-10-06
      • 2016-01-24
      • 2015-01-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多