Верхний левый угол окна WPF не прозрачен - PullRequest
0 голосов
/ 20 января 2019

У меня под окном WPF без полей:

<Window x:Class="MyAPP.WMainView"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:system="clr-namespace:System;assembly=mscorlib"   
        Height="620" Width="800" 
        WindowStyle="None"
        AllowsTransparency="True"
        ResizeMode="CanResizeWithGrip">

<Window.Resources>
    <Style x:Key="WindowIconStyle"
       TargetType="{x:Type Hyperlink}">
        <Setter Property="FontFamily"
            Value="Webdings" />
        <Setter Property="FontSize"
            Value="16" />
        <Setter Property="Foreground"
            Value="Black" />
        <Setter Property="TextBlock.TextDecorations"
            Value="{x:Null}" />
        <Setter Property="Cursor"
            Value="{x:Null}" />            
        <Style.Triggers>
            <Trigger Property="IsMouseOver"
                 Value="True">
                <Setter Property="Foreground"
                    Value="#ED5326" />
            </Trigger>
        </Style.Triggers>
    </Style>
</Window.Resources>

<Border BorderBrush="SkyBlue" BorderThickness="2" CornerRadius="20 0 0 0">
    <DockPanel>
    <Border x:Name="WindowTitleBar"  
                DockPanel.Dock="Top"
                CornerRadius="20 0 0 0"                                        
                Background="LightBlue">




            <StatusBar DockPanel.Dock="Top"  Background="Transparent" 
                       MouseDoubleClick="TriggerMaximize"
                       MouseMove="TriggerMoveWindow">

                <StatusBarItem DockPanel.Dock="Right">  
                    <TextBlock Margin="5"
                               VerticalAlignment="Center">
                        <Hyperlink Click="TriggerClose"
                                   Style="{StaticResource WindowIconStyle}">r                                
                        </Hyperlink>
                    </TextBlock>
                </StatusBarItem>

                <StatusBarItem DockPanel.Dock="Right">
                    <TextBlock Margin="5"
                               VerticalAlignment="Center">
                        <Hyperlink Click="TriggerMaximize" 
                                   Style="{StaticResource WindowIconStyle}">2
                        </Hyperlink>
                    </TextBlock>
                </StatusBarItem>

                <StatusBarItem  DockPanel.Dock="Right">
                    <TextBlock  Margin="5"
                               VerticalAlignment="Center">
                        <Hyperlink Click="TriggerMinimize"
                                   Style="{StaticResource WindowIconStyle}">0
                        </Hyperlink>
                    </TextBlock>
                </StatusBarItem>

                <StatusBarItem HorizontalAlignment="Center">
                    <TextBlock x:Name="WindowTitle" VerticalAlignment="Center" 
                               Foreground="Black" 
                               FontSize="16"/>
                </StatusBarItem>

            </StatusBar>


    </Border>
    <Grid>
         <!-- Grid Stuff -->
    </Grid>
 </DockPanel>
</Border>

Как видно выше, я поместил границу в качестве содержимого основного окна, чтобы применить произвольный радиус угла «20 0 0 0», то есть я округлил верхний левый угол окна, но он не прозрачен, см. ниже изображение:

enter image description here

1 Ответ

0 голосов
/ 20 января 2019

Установить фон окна на Transparent.

...