WPF MahApps.Metro AnimatedSingleRowTabControl FontSize

Как изменить размер шрифта вкладок при использовании MahApps.Metro AnimatedSingleRowTabControl.

При использовании обычного TabControl моя тема TabItem (на основе MetroTabItem) переопределяет размер шрифта, но это не работает для анимированного элемента управления вкладкой с одной строкой. Я попытался установить свойство fontsize для элемента управления в XAML, и это тоже не сработало.

С уважением Алан


person Alan Rutter    schedule 04.10.2013    source источник


Ответы (2)


Вы можете сделать следующее, установив размер шрифта заголовка на любое значение:

<metro:MetroAnimatedSingleRowTabControl>
    <metro:MetroAnimatedSingleRowTabControl.ItemContainerStyle>
        <Style TargetType="{x:Type metro:MetroTabItem}" BasedOn="{StaticResource {x:Type metro:MetroTabItem}}">
            <Setter Property="HeaderFontSize" Value="24"/>
        </Style>
    </metro:MetroAnimatedSingleRowTabControl.ItemContainerStyle>
</metro:MetroAnimatedSingleRowTabControl>
person Nick    schedule 04.10.2013
comment
Это прекрасно работает, когда у меня есть это в основной разметке XAML, но когда я пытаюсь перенести это в файл моей темы, я продолжаю получать исключения. Можете ли вы показать мне правильные записи для помещения в файл темы. Спасибо - person Alan Rutter; 06.10.2013
comment
Вы должны иметь возможность просто использовать определение ‹Style› в xaml-файле скина или темы. Не забудьте указать пространство имен metro. - person Nick; 07.10.2013

Вы также можете определить следующее в Application.Resources вашем App.xaml:

<system:Double x:Key="TabItemFontSize">16</system:Double>

Controls.TabControl.xaml использует его следующим образом:

<Setter Property="Controls:ControlsHelper.HeaderFontSize"
        Value="{DynamicResource TabItemFontSize}" />
person KornMuffin    schedule 24.09.2014
comment
Куда вы это добавляете? Внутри моего Application.Resources у меня есть resourceDictionary, а внутри у меня есть ResourceDictionary.MergedDictionaries. Везде я пытаюсь вставить ‹system:Double VS продолжает подчеркивать это (система префиксов не определена), затем я написал S заглавными буквами и поместил его в объединенные словари, и он говорит (Double не поддерживается в проекте WPF) - person erotavlas; 12.12.2014
comment
Вставьте после ‹/ResourceDictionary.MergedDictionaries›, но перед ‹/ResourceDictionary›. - person KornMuffin; 12.12.2014
comment
Не повезло, он все еще говорит, что профикс пространства имен System не определен. - person erotavlas; 12.12.2014
comment
Добавьте xmlns:system=clr-namespace:System;assembly=mscorlib и убедитесь, что это ‹system:Double ... - person KornMuffin; 12.12.2014