[C# WPF] TabControl에 탭 닫기 아이콘 넣기

728x90

 

        <TabControl x:Name="TabControl">
            <TabControl.ItemContainerStyle>
                <Style TargetType="TabItem">
                    <Setter Property="HeaderTemplate">
                        <Setter.Value>
                            <DataTemplate>
                                <StackPanel Orientation="Horizontal">
                                    <TextBlock Text="{Binding}" Width="Auto" Margin="5 5 5 5"/>
                                    <Image Source="/Images/close_icon.png" Width="15" Margin="20 0 0 0" MouseDown="CloseTabButton_Click"/>
                                </StackPanel>
                            </DataTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>
            </TabControl.ItemContainerStyle>

 

       private void CloseTabButton_Click(object sender, MouseButtonEventArgs e)
        {
            // 클릭한 이미지의 부모 TabItem 찾기
            Image image = (Image)sender;
            TabItem tabItem = FindParentTabItem(image);
            if (tabItem != null)
            {
                // TabControl에서 해당 TabItem을 제거
                TabControl.Items.Remove(tabItem);
            }
        }
        private TabItem FindParentTabItem(DependencyObject child)
        {
            while (child != null)
            {
                if (child is TabItem)
                {
                    return (TabItem)child;
                }
                child = VisualTreeHelper.GetParent(child);
            }
            return null;
        }

 

아이콘 닫기 누르면 삭제하는거까지 구현했다.

728x90