WPF Window Chrome样式

时间:2017-10-23 17:37:13

标签: wpf xaml header styles window-chrome

我正在使用WindowChrome class来解决任务栏和应用标题中不同图标的问题。这是我的window.style示例:

<Window.Style>
    <Style TargetType="{x:Type local:MainWindow}">
        <Setter Property="shell:WindowChrome.WindowChrome">
            <Setter.Value>
                <shell:WindowChrome GlassFrameThickness="-1" 
                                    ResizeBorderThickness="4"  
                                    UseAeroCaptionButtons="True"/>
            </Setter.Value>
        </Setter>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type local:MainWindow}">
                    <Grid>

                        <!-- This is the ContentPresenter that displays the window content. -->
                        <Border Margin="1 30 1 1" Background="White"
                                >
                            <ContentPresenter Content="{TemplateBinding Content}" />
                        </Border>

                        <!-- Window Title -->
                        <Image Margin="5" VerticalAlignment="Top" HorizontalAlignment="Left" Width="16" Height="16" Source="some.ico"></Image>
                        <TextBlock Margin="25 5 0 0" VerticalAlignment="Top" TextAlignment="Left" 

                                   Text="{Binding RelativeSource=
                                 {RelativeSource TemplatedParent}, Path=Title}" />
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</Window.Style>

当没有最大化时 - 我的窗口看起来像我想要的那样。

但是当最大化时(通过双击/最大化按钮单击或停靠到顶部)标题背景为黑色,我看不到任何按钮,我的图标超出了屏幕范围。 :(

enter image description here

有什么建议吗?我的风格做错了什么?

0 个答案:

没有答案