Я пытаюсь сделать углы окна (WPF) округлыми, и это не сработает, я попытался сделать окно прозрачным и добавить внутреннюю границу с закругленными углами, и это не сработает.
Любые идеи?
Я пытаюсь сделать углы окна (WPF) округлыми, и это не сработает, я попытался сделать окно прозрачным и добавить внутреннюю границу с закругленными углами, и это не сработает.
Любые идеи?
вам нужно установить WindowStyle в WindowStyle.None, который удалит хром, тогда вы можете разрешить прозрачность, которая является атрибутом int the Window, и установить цвет фона прозрачным. Все это можно сделать в качестве атрибутов тега окна.
WindowStyle="None"
AllowsTransparency="True"
Background="Transparent"
Чтобы закруглить углы, используйте границу и установите свойство cornerRadius
Не используйте AllowsTransparency, это медленное и ошибочное, взгляните на эту ссылку, найдите раздел "Office 2007 без Aero - или вы несете ответственность за все":
https://blogs.msdn.microsoft.com/wpfsdk/2008/09/08/custom-window-chrome-in-wpf/
EDIT: некоторые из методов в этом посте специфичны для Vista, но раздел "Office 2007 без Aero" работает на XP (и фактически описывает, какое программное обеспечение, написанное для Vista, должно вернуться к XP).
Вам также нужно сделать прозрачную рамку вокруг вашего окна шириной в несколько пикселей, иначе края закругленных углов будут обрезаны.
это может помочь u.
<Grid DataContext="{Binding ElementName=root}">
<Border Background="#90000000" Visibility="{Binding Visibility}">
<Border BorderBrush="Black" BorderThickness="1" Background="AliceBlue"
CornerRadius="10,0,10,0" VerticalAlignment="Center"
HorizontalAlignment="Center">
<Border.BitmapEffect>
<DropShadowBitmapEffect Color="Black"
Opacity="0.5" Direction="270"
ShadowDepth="0.7" />
</Border.BitmapEffect>
<Grid Margin="10">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock x:Name="MessageTextBlock"
Text="{Binding Message}"
TextWrapping="Wrap" Margin="5" />
<UniformGrid Grid.Row="1" Margin="5"
Columns="2" HorizontalAlignment="Center"
VerticalAlignment="Bottom">
<Button x:Name="OkButton"
Content="Ok" Margin="2" />
<Button x:Name="CancelButton"
Content="Cancel" Margin="2" />
</UniformGrid>
</Grid>
</Border>
</Border>
</Grid>
Я разместил пример видео на YouTube. Проверьте это https://youtu.be/F6hh_p18wUw