![](/img/trans.png)
[英]PrintFixedDocument wpf print quality- Windows 10/8 vs Windows 7
[英]WPF: Windows 7 vs Windows 10 Appearance
我在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显示:
一切仍然正常运行,但是缺少一些文本框和按钮的设置方式,缺少部分字母。
我认为这是很多人在真正开始自定义其应用程序样式时会发现的东西。 对于这两个问题都有一些完善的捷径,例如对WPF使用现有的样式/库:
我看到一些常见的Window和样式库:
当然,这些还包括许多其他Metro主题。 还有其他主题包,如果客户希望使用现代设计(也可以从Google识别),我发现XAML Toolkit中的Material Design非常有用 。
看起来您是从头开始制作样式,但是上面的内容可能仍然对您简单地用于Windows很有用。 如果你想要去它自己有很多用的答案了长时间的讨论在这里 。
如评论中所述,对于弯角,这是WPF在不同操作系统上的默认行为的结果。 它尝试选择一种默认样式以与当前操作系统完美融合。 对于大多数仅使用默认主题的应用程序,这通常并不重要。
但是,当您自己设置所有样式时,它确实会对您手动配置的内容造成破坏,因为某些与您设置的主题配合使用的属性可能会有所不同-例如圆角。
有两个选择。
<App.Resources> <ResourceDictionary Source="/PresentationFramework.Aero, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml"/> </App.Resources>
由于某种原因,除非用引号将以上内容括起来,否则以上内容将不会显示为代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.