2014-12-12 3 views
1

어떻게하는지에 대한 지침을 따르려고했지만 WPF로 시작했습니다.MahApps TabControl의 탭에 닫기 버튼을 어떻게 추가합니까?

다른 TabControls에서 다시 사용할 수있는 UserControl을 사용하여 어떻게합니까? TabControl 스타일의 "머리글"ContentPresenter는 어느 것입니까? 문제는 그때까지 일반적인 방식으로 실제 '가까운'이벤트에 후킹됩니다 - 아래

은 다른 방법은 스타일을 생성/수정하는 것입니다 https://github.com/MahApps/MahApps.Metro/issues/281

에서 발견 된 명령어입니다.

TabControl 스타일을 보면 "Header" ContentPresenter가 표시됩니다. 당신이 StackPanel의에서 그 싸서과 같이 버튼 을 추가하는 경우 :

<StackPanel Orientation="Horizontal"> 
    <Label x:Name="root" FontSize="26.67"> 
     <ContentPresenter ContentSource="Header" RecognizesAccessKey="True" /> 
    </Label> 
    <Button Content="X" /> 
</StackPanel> 

를 당신이 얻을 :

이있는 경우 enter image description here

당신의 창 또는 UserControl을 (오히려 자원 사전보다)을 클릭하면 해당 항목을 연결하여 클릭이 실행되고 데이터 컬렉션 컬렉션에서 항목을 제거하거나 TabControl에서 항목을 직접 제거 할 수 있습니다.

답변

4

가장 쉬운 방법은 MetroTabItem입니다. 닫기 버튼을 활성화/비활성화하려면 속성 CloseButtonEnabled이 함께 제공됩니다. CloseTabCommandCloseTabCommandParameter에 명령을 바인딩 할 수도 있습니다.

<TabControl xmlns:Controls="http://metro.mahapps.com/winfx/xaml/controls"> 
    <Controls:MetroTabItem Header="The Header of the TabItem" 
         CloseButtonEnabled="True" 
         CloseTabCommand="{Binding CloseTabCommand}" 
         CloseTabCommandParameter="{Binding RelativeSource={RelativeSource Self}, Path=Header}"> 

    <!-- your content of the TabItem --> 

    </Controls:MetroTabItem> 
</TabControl> 

희망이 있습니다.

관련 문제