WPF Window Chrome для стайлинга

Я использую класс WindowChrome для решения проблемы с различными значками на панели задач и в заголовке приложения. Вот мой пример 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>

Когда не развернуто - мое окно выглядит так, как я хочу.

Но когда развернуто (двойным щелчком / максимизировать нажатие кнопки или закрепление вверху) фон заголовка черный, я не вижу никаких кнопок, и моя иконка выходит за границы экрана.:(

Какие-либо предложения? Что я делаю не так в моем стиле?

0 ответов

Другие вопросы по тегам