LayoutAnchorable Title字体

时间:2015-09-18 18:56:40

标签: xaml avalondock

对于下面的XAML,我正在使用AvalonDock 2.0.2。我想设置LayoutAnchorable的Title属性的字体

<xcad:DockingManager Name="TabItemDockingManager" 
                    AllowMixedOrientation="True"
                    BorderBrush="Black"
                    BorderThickness="0" Height="Auto" Width="Auto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
                    AnchorablesSource="{Binding Anchorables, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"                                         viewModels:AvalonDockLayoutSerializer.LoadLayoutCommand="{Binding ADLayout.LoadLayoutCommand}" viewModels:AvalonDockLayoutSerializer.SaveLayoutCommand="{Binding ADLayout.SaveLayoutCommand}">

        <xcad:DockingManager.LayoutUpdateStrategy>
            <pane:LayoutInitializer/>
        </xcad:DockingManager.LayoutUpdateStrategy>

        <xcad:DockingManager.LayoutItemTemplateSelector>
            <pane:PanesTemplateSelector>
                <pane:PanesTemplateSelector.MyViewTemplate>
                    <DataTemplate>
                        ...
                    </DataTemplate>
                </pane:PanesTemplateSelector.MyViewTemplate>
            </pane:PanesTemplateSelector>
        </xcad:DockingManager.LayoutItemTemplateSelector>

        <xcad:DockingManager.LayoutItemContainerStyleSelector>
            <pane:PanesStyleSelector>
                <pane:PanesStyleSelector.ToolStyle>
                    <Style TargetType="{x:Type xcad:LayoutAnchorableItem}">
                        <Setter Property="Title" Value="{Binding Model.Title}"/>
                        <Setter Property="IconSource" Value="{Binding Model.IconSource}"/>
                        <Setter Property="Visibility" Value="{Binding Model.IsVisible, Mode=TwoWay, Converter={StaticResource BoolToVisibilityConverter}, ConverterParameter={x:Static Visibility.Hidden}}"/>
                        <Setter Property="ContentId" Value="{Binding Model.ContentId}"/>
                        <Setter Property="IsSelected" Value="{Binding Model.IsSelected, Mode=TwoWay}"/>
                        <Setter Property="IsActive" Value="{Binding Model.IsActive, Mode=TwoWay}"/>
                    </Style>
                </pane:PanesStyleSelector.ToolStyle>
            </pane:PanesStyleSelector>
        </xcad:DockingManager.LayoutItemContainerStyleSelector>

        <xcad:LayoutRoot x:Name="_LayoutRoot">
            <xcad:LayoutPanel Orientation="Vertical">
                <xcad:LayoutAnchorablePane Name="AnchorablesPane" DockHeight="150">
                </xcad:LayoutAnchorablePane>
            </xcad:LayoutPanel>
        </xcad:LayoutRoot>
</xcad:DockingManager>

我可以设置标题文本(通过读取/加载布局来完成),但我没有看到我可以设置的Font / FontFamily属性

有谁知道如何做到这一点?

1 个答案:

答案 0 :(得分:1)

感谢Attila(由于我没有足够的分数,我无法标记他的答案)

AvalonDock 2.2 - Full width TitleTemplate (fill parent container)

AvalonDock是一个很棒的库 - 据说用MVVM实现它是一个挑战,但下面似乎运作良好

<xcad:DockingManager.Resources>
    <DataTemplate x:Key="DockingWindowTitleDataTemplate" DataType="{x:Type xcad:LayoutContent}">
        <Label>
            <TextBlock Text="{Binding Path=Title}" Margin="5,0,0,0" VerticalAlignment="Center" FontSize="14" />
        </Label>
    </DataTemplate>
</xcad:DockingManager.Resources>

<xcad:DockingManager.AnchorableTitleTemplate>
    <StaticResource ResourceKey="DockingWindowTitleDataTemplate" />
</xcad:DockingManager.AnchorableTitleTemplate>