我有一个TabControl与两个TabItems,在一个TabItem里面我有一个DataGrid。 我试图处理TabItem点击,它的工作原理,但是,当我点击“dataGrid1”的一行时,TabItem点击事件“TabItem_MouseLeftButtonUp”也被触发。看到代码:DataGrid里面的TabItem事件处理
<TabControl Height="211" HorizontalAlignment="Left" Margin="33,29,0,0" Name="tabControl1" VerticalAlignment="Top" Width="417" >
<TabItem Header="tabItem1" Name="tabItem1">
<Grid />
</TabItem>
<TabItem MouseLeftButtonUp="TabItem_MouseLeftButtonUp">
<DataGrid AutoGenerateColumns="True" Height="134" Name="dataGrid1" Width="307" />
</TabItem>
</TabControl>
注:因为我使用MahApps我不能使用个性化<TabItem.Header>
,如果我用TabItem.Header风格操作系统的TabItem将打破。
当单击TabItem时,OriginalSource是一个边框,并且当我在TabItem的文本上单击右边时,OriginalSource是一个TextBlock,因此,此解决方案不工作。 – Ewerton
我在你的解决方案中做了一些修改sender.GetType()将返回控制类型(DataGrid或TabItem),所以,你的解决方案的工作原理,我将它标记为答案,你可以编辑它? – Ewerton