0
次のコードを書き換えて、TabItemである最も近い親を見つけてTabControlから削除する方が簡単ですか?WPFが最も近い親(TabItem)の親をクリックして閉じます
私は新しいTabItemを動的に追加するTabControlを持っています。私はこのように見える各タブにHeaderTemplate
を割り当てます。
<DataTemplate x:Key="AttorneyTabHeader">
<StackPanel Orientation="Horizontal">
<TextBlock Text="THE title" Margin="2,0,0,0" FontSize="16" VerticalAlignment="Center" />
<Button Width="Auto" UseLayoutRounding="False" BorderBrush="Transparent" Background="Transparent" Click="CloseAttorneysTabButtonClick">
<Image Source="/images/close-cross-thin-circular-button/close-cross-thin-circular-button16.png" Height="16"></Image>
</Button>
</StackPanel>
</DataTemplate>
ヘッダーには閉じるボタンがあり、ボタンをクリックするたびにTabItemを閉じたいと思います。私のクリックハンドラは次のようになります。
public void CloseAttorneysTabButtonClick(object sender, RoutedEventArgs e)
{
TabItem this_tab = (TabItem)((Button)sender).Parent.GetParentObject().GetParentObject().GetParentObject().GetParentObject().GetParentObject().GetParentObject();
AttorneysTabControl.Items.Remove(this_tab);
}
私は今、私はボタンを変更し、ハンドラを変更し忘れたと何度も何度も親を得ることに依存していますので、これを書き換えるには良い方法があるかどうかを疑問に思って。