Проблема заключается граница слишком толстая для Windows, 10.WindowChrome - слишком толстая граница для Windows 10
Если вы не видите скриншот ниже, то вот текст:
- Эта граница слишком толстая слева, справа и снизу
- Border также ярче в тех краях
Как сделать 1px границы, как Google Chrome (или Windows 10 в проводнике) имеет? Отрицательный 1px не работает хорошо, он делает границу белой, и она все еще толстая.
Framework является .NET Framework 4.6.2.
Код:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:AnotherOffice"
xmlns:System="clr-namespace:System;assembly=mscorlib" x:Name="window" x:Class="AnotherOffice.MainWindow"
mc:Ignorable="d"
Title="AnotherOffice Text v0.0.1 - New document" Height="720" Width="1280" Background="{x:Null}" WindowState="Maximized" Margin="0" BorderThickness="8">
<Window.Style>
<Style TargetType="{x:Type Window}">
<Setter Property="WindowChrome.WindowChrome">
<Setter.Value>
<WindowChrome
GlassFrameThickness="8,40,8,8"
ResizeBorderThickness="2"
CornerRadius="0"
CaptionHeight="32"
UseAeroCaptionButtons="True"
/>
</Setter.Value>
</Setter>
</Style>
</Window.Style>
<local:AnotherOfficeTextBase Margin="0,32,0,0"/>
</Window>
UPD: Попробовал использовать этот код:
if (SystemParameters.IsGlassEnabled)
{
WindowChrome winChrome = new WindowChrome();
winChrome.CaptionHeight = 32;
winChrome.CornerRadius = new CornerRadius(0);
winChrome.GlassFrameThickness = new Thickness(8, 32, 8, 8);
winChrome.ResizeBorderThickness = new Thickness(1);
winChrome.UseAeroCaptionButtons = true;
WindowChrome.SetWindowChrome(this, winChrome);
InitializeComponent();
} else
{
MainWindowNoGlass fallback = new MainWindowNoGlass();
fallback.Show();
Close();
}
И ... никакого эффекта.
Я просто использую стиль окна Mah.Apps (хотя я больше не использую их стили интерфейса Metro). Тогда я знаю, что он будет согласован в разных операционных системах и будет иметь больший контроль над всеми элементами. – Joe
@Joe Я бы хотел использовать собственное решение, потому что хочу иметь TabControl в моем окне хром. Есть идеи? – ArtyomIsFlash
Ах, конечно. Я бы посмотрел на их код BorderlessWindowBehavior, а затем https://github.com/MahApps/MahApps.Metro/blob/fd47b9ff616febc36c86a6b332578e011f181ce3/MahApps.Metro/Behaviours/BorderlessWindowBehavior.cs. – Joe