2

内のWPFアプリTabControlには、TabItem1つの要素がありLabelます。thisでイベントを発生MouseClickさせたいのですが、イベント:TabTabControlMouseLeftButtonDown

<TabItem Header="Header1" MouseLeftButtonDown="TabItem_MouseLeftButtonDown" >
      <Label Height="28" Name="AdderLbl" Width="120" Background="Azure" >Label</Label>
</TabItem>

ラベルをクリックしたときにのみ発火します。それは私が欲しいものではありません。

コンテンツではなく、MouseClick上でイベントを発生させるにはどうすればよいですか?Tab

4

6 に答える 6

3

切り替えが必要になるため、selectionchanged イベントは必要ありませんでした。そのため、クリックしたタブで直接イベントが必要でした。

私は MouseDown イベントが私が探していたものだと思っていましたが....ブレークポイントであらゆる種類のマウスイベントを配線した後; MouseUp イベントが機能することがわかりました。

だから私はMouseLeftButtonUporを使いMouseUpました。

于 2012-02-06T21:42:00.510 に答える
3

何を達成しようとしていますか?ユーザーがタブに移動したときにトラップしようとしているようです。そうであれば、別のイベントをフックできますSelectionChanged

:-)

于 2009-12-30T15:55:27.360 に答える
0

イベントが必要ですSelector.Selected

于 2010-03-29T19:16:22.370 に答える
0

イベントの処理SelectionChangedはタブの変更を処理するためのより良いアプローチですが、質問に対する可能な解決策は次のとおりです。あなたの場合にはお勧めしませんが、他の場合に役立つ可能性のあるアプローチを示しています

    <TabControl>
        <TabItem>
            <TabItem.Header>
                <Button Click="Button_Click">
                    <Button.Template>
                        <ControlTemplate>
                            <Label>Header1</Label>
                        </ControlTemplate>
                    </Button.Template>
                </Button>
            </TabItem.Header>

            <Label Height="28" Name="AdderLbl" Width="120" Background="Azure" >Label</Label>
        </TabItem>
    </TabControl>
于 2009-12-30T16:08:44.103 に答える
0
<TabControl x:Name ="TabControls" Dock="Top" DockWidth="500" DockHeight="500"     TabItemShape="Rounded">
<TabControl>

 TabControls.SelectionChanged += SelectionChanged;

 private void SelectionChanged(object sender, SelectionChangedEventArgs selectionChangedEventArgs) {

     var itemTab = (TabItem) TabControls.SelectedItem;

    (...) 
 }
于 2014-05-05T09:48:26.773 に答える