0

我有一个带有两个选项卡(A,B)的 WPF 选项卡控件。Clicked由于TabItem 上没有事件,因此我previewMouseDown在 Tab B 上添加了一个事件,并且messageBox会显示一个事件。但是,在我关闭消息框后,我的应用程序将无法导航到选项卡 B。任何人都可以帮助我吗?

C# 代码片段:

  private void MyTabB_PreviewMouseDown(object sender, MouseButtonEventArgs e)
    {
        MessageBox.Show("Please login");
    }
4

1 回答 1

1

您可以使用 TabControlSelectionChanged 事件。

由于您知道登录的选定选项卡说索引 0,因此在 MessageBox 之后更改选定选项卡,即类似这样

MyTabB_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
     TabControl tc= ((TabControl)sender;
     if(tc.SelectedIndex == tc.Items.IndexOf(A/*Login tab*/))
      {
         MessageBox.Show("Login")
         tc.SelectedIndex = tc.Items.IndexOf(B);
      }
}

这意味着每当您选择 A 时,您都会弹出 MessageBox,然后您登录。

或者,为什么不在 A 中放置带有 ClickedEvent 的按钮或任何控件,然后在单击时更改 tc.SelectedIndex。

于 2013-01-09T11:08:04.250 回答