【发布时间】: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 用于某些测试目的,以查看何时选择了 TabItem。 MessageBox 仅在我离开 peopleTabItem 后显示,而不是在我单击它时显示。如何更改此设置,以便我可以编程在单击 TabItem 以及选择它时发生的事情?
【问题讨论】:
标签: c# wpf tabcontrol tabitem