【发布时间】:2016-12-14 08:01:27
【问题描述】:
我在 Windows 10 设备和 Windows 7 设备之间存在令人讨厌的外观差异。
我在Window 元素中直接使用WindowStyle="None" 和DockPanel。
我不明白为什么还有边界?为什么按钮、文本框、组合框等的边框是圆角的?
这似乎与 Aero 有关。有没有办法阻止我的应用程序使用 Aero?我假设有另一个与 Windows 10 相关的演示框架,但不知道它被称为强制它。
BorderBrush 是解决此问题的最简单方法吗?
<Window x:Class="CBD.Presentation.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:CBD.Presentation"
Title="CBD" Height="760" Width="944" WindowStartupLocation="CenterScreen"
WindowStyle="None" SizeChanged="Window_SizeChanged" MinWidth="944" MinHeight="760"
Icon="favicon.ico">
<DockPanel x:Name="Root_Window" Background="Black">
<!--Application stuff here -->
</DockPanel>
</Window>
Windows 7 显示:
Windows 10 显示:
一切仍然正常,但一些文本框和按钮的设置方式,部分字母丢失。
【问题讨论】:
-
我会看看这个,很多关于无边框窗口的信息:stackoverflow.com/questions/611298/…
-
关于弯曲的边缘,我猜这是因为它根据操作系统选择不同的主题。您是否正在为这些组件定义样式?
-
我一直使用 Mahapps.Metro,经过大量修改,以获得漂亮的窗口和应用程序之间的一致样式。或者最近的 WPF Material Design。
-
@Joe,所以没有定义边框样式
CornerRadius意味着从主题继承?我认为默认情况下它会是 WYSIWYG。 -
是的。问题是它在不同的系统上选择不同的主题,这意味着你永远不知道你需要设置什么——我同意这并不理想。看起来你可以手动设置主题,那么它应该是一致的吗?看看这些:arbel.net/2006/11/03/…, wpftutorial.net/themes.html