繁体   English   中英

WPF:Windows 7 vs Windows 10外观

[英]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 7显示

Windows 10显示:

Windows 10显示

一切仍然正常运行,但是缺少一些文本框和按钮的设置方式,缺少部分字母。

我认为这是很多人在真正开始自定义其应用程序样式时会发现的东西。 对于这两个问题都有一些完善的捷径,例如对WPF使用现有的样式/库:

我看到一些常见的Window和样式库:

  • MahApps.Metro是一个很棒的库,我已经使用了很长时间了,以获取干净的窗口和界面(尤其是某些客户喜欢的“深色”主题)。
  • 现代用户界面 几乎没有个人经验,但是相似之处在于它具有更现代的窗户设计,以及较大的样式集。 我看过它经常使用。
  • 极乐世界 同样,经验不足,但似乎很活跃。 我没有看到它使用得比其他两个要多。

当然,这些还包括许多其他Metro主题。 还有其他主题包,如果客户希望使用现代设计(也可以从Google识别),我发现XAML Toolkit中Material Design非常有用

看起来您是从头开始制作样式,但是上面的内容可能仍然对您简单地用于Windows很有用。 如果你想要去它自己有很多用的答案了长时间的讨论在这里

如评论中所述,对于弯角,这是WPF在不同操作系统上的默认行为的结果。 它尝试选择一种默认样式以与当前操作系统完美融合。 对于大多数仅使用默认主题的应用程序,这通常并不重要。

但是,当您自己设置所有样式时,它确实会对您手动配置的内容造成破坏,因为某些与您设置的主题配合使用的属性可能会有所不同-例如圆角。

有两个选择。

  1. 显式设置所有属性 ,因此它看起来完全符合您的要求。 这样做意味着即使“基本”主题发生了变化,它仍然看起来不错。 这就是上面这些库的工作方式-它们完全定义了样式。 问题是您必须手动测试不同主题的内容,这需要一些工作。
  2. 手动设置基本主题 (也可以在选项1中用于测试!)您可以覆盖应用程序手动使用的主题,而不是让它使用操作系统的默认主题,就像应用其他自定义主题或您自己的主题一样:
 <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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM