2016-11-30 13 views
0

私はMahApps TabControlを使用しています。 xamlからItemを追加すると、 "CloseButtonEnabled = true"を設定でき、Closeボタンが表示されます。ItemSourceをバインドしようとすると、閉じるボタンが表示されません。任意のアイデア、どのように私はこの問題を解決することができますか?ここでの問題は、あなたがMetroTabItemのための完全なスタイルをオーバーライドすることであるMahApps TabControlは、ItemSource = {Binding ..}を使用している場合、CloseButtonEnabled = trueを設定できません。

<Window.Resources> 
<Style x:Key="MyCustomTabItem" BasedOn="{StaticResource MetroTabItem}" TargetType="{x:Type Controls:MetroTabItem}"> 
    <Setter Property="Controls:ControlsHelper.HeaderFontSize" Value="15"/> 
    <Setter Property="Foreground" Value="Red"/> 
    <Setter Property="CloseButtonEnabled" Value="True"/> 
</Style> 
</Window.Resources> 
<Controls:MetroTabControl ItemsSource="{Binding AvailableFiles}" ItemContainerStyle="{StaticResource MyCustomTabItem}" SelectedIndex="{Binding SelectedIndex}" Grid.Row="1" >   
    <Controls:MetroTabControl.ItemTemplate > 
     <DataTemplate> 
      <TextBlock Text="{Binding Title}" /> 
     </DataTemplate> 
    </Controls:MetroTabControl.ItemTemplate> 
</Controls:MetroTabControl> 

答えて

1

:あなたがアプローチ以下試すことができ

<Window.Resources> 
    <Style BasedOn="{StaticResource MetroTabItem}" TargetType="{x:Type Controls:MetroTabItem}"> 
     <Setter Property="Controls:ControlsHelper.HeaderFontSize" Value="15"/> 
     <Setter Property="Foreground" Value="Red"/> 
     <Setter Property="CloseButtonEnabled" Value="True"/> 
    </Style> 
</Window.Resources> 

<Controls:MetroTabControl ItemsSource="{Binding AvailableFiles}" SelectedIndex="{Binding SelectedIndex}" Grid.Row="1" >   
     <Controls:MetroTabControl.ItemTemplate > 
      <DataTemplate> 
       <TextBlock Text="{Binding Title}" /> 
      </DataTemplate> 
     </Controls:MetroTabControl.ItemTemplate> 
</Controls:MetroTabControl> 
+0

はいはいはい!それは今働きます!ありがとうございました。 – niks

0

は、ここに私のサンプルコードです。

あなただけの追加の変更をしたい場合は、BasedOn="{StaticResource MetroTabItem}"でこの

<Window.Resources> 
    <Style BasedOn="{StaticResource {x:Type Controls:MetroTabItem}}" TargetType="{x:Type Controls:MetroTabItem}"> 
     <Setter Property="Controls:ControlsHelper.HeaderFontSize" Value="15"/> 
     <Setter Property="Foreground" Value="Red"/> 
     <Setter Property="CloseButtonEnabled" Value="True"/> 
    </Style> 
</Window.Resources> 

MetroTabItemはスタイルとないタイプですありません。

希望に役立ちます!

+0

ありがとうございますが、それでも動作しません。 – niks

関連する問題