0

私はTabControl2 つTabItemの を持っています。Thread最初のタブで実行中です。最初のタブがフォーカスを失うと、スレッドを一時停止する必要があります。LostFocusしかし、のイベントには小さな問題がありTabItemます。LostFocusイベントは、最初TabItemにフォーカスが失われたときにトリガーされるのではなく、2 回目にトリガーされます。これはなぜですか。また、最初に起動するにはどうすればよいですか?

以下は私のxamlコードです:

<Grid>
    <TabControl Name="tbc">
        <TabItem Name="tabMain" Header="Main" GotFocus="tabMain_GotFocus" LostFocus="tabMain_LostFocus" >
            <uc:ucMain />
        </TabItem>
        <TabItem Name="tabExplorer" Header="Data Explorer">
            <uc:ucExplorer />
        </TabItem>
    </TabControl>
</Grid>

上記のコードでは、uc:ucMain はUserControl

4

3 に答える 3

1

これは奇妙な WPF の動作のようです。最初に強制的にフォーカスすることで回避できますTabItem

コード:

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    tabMain.Focus();
}
于 2014-06-16T08:02:19.240 に答える