Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF:Windows7与Windows10的外观_Wpf_Windows_Xaml - Fatal编程技术网

WPF:Windows7与Windows10的外观

WPF:Windows7与Windows10的外观,wpf,windows,xaml,Wpf,Windows,Xaml,我在Windows 10设备和Windows 7设备之间有令人讨厌的外观差异 我直接在我的窗口元素中使用WindowStyle=None和DockPanel 我不明白为什么还有边界?为什么按钮、文本框、组合框等的边框是圆形的 这似乎与航空有关。有没有办法阻止我的应用程序使用Aero?我假设有另一个与Windows10相关的演示框架,但不知道如何强制它 边界笔刷是解决此问题的最简单方法吗 <Window x:Class="CBD.Presentation.MainWindow"

我在Windows 10设备和Windows 7设备之间有令人讨厌的外观差异

我直接在我的窗口元素中使用WindowStyle=None和DockPanel

我不明白为什么还有边界?为什么按钮、文本框、组合框等的边框是圆形的

这似乎与航空有关。有没有办法阻止我的应用程序使用Aero?我假设有另一个与Windows10相关的演示框架,但不知道如何强制它

边界笔刷是解决此问题的最简单方法吗

<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的现有样式/库:

我看到了一些常见的窗口和样式库:

是一个很好的库,我已经用了很长时间来获得干净的窗口和界面,特别是一些客户喜欢的“黑暗”主题。 . 几乎没有个人经验,但它的相似之处在于,它有更现代的窗户设计,以及一套大样式。我经常看到它被使用。 . 同样,没有多少经验,但似乎很活跃。我没有看到它像其他两个那样被使用。 这些,当然,包括许多其他地铁主题。还有其他可用的主题包,我发现如果客户想要的话,最好的设计也是可以识别的,来自谷歌

看起来你是在从头开始设计你的风格,但是上面的内容对你来说仍然很有用,你可以简单地在windows上使用。如果你想亲自去做,有一个长时间的讨论,有很多答案

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

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

有两种选择

显式设置所有属性,使其看起来完全符合您的需要。这样做意味着,即使“基本”主题发生了变化,它仍然看起来不错。以上这些库就是这样做的——它们完全定义了一种样式。问题是,您将不得不在不同的主题上手动测试它,这是一项工作量很大的工作。 手动设置基本主题。也可用于选项1中的测试!您可以手动覆盖应用程序使用的主题,而不是让应用程序使用操作系统的默认主题,方法与应用其他自定义主题或您自己的主题大致相同:
出于某种原因,除非用引号括起来,否则上述内容不会显示为代码…

我认为,当许多人真正开始定制应用程序样式时,这两种内容都会让他们感到意外。这两个问题都有一些行之有效的快捷方式,例如使用WPF的现有样式/库:

我看到了一些常见的窗口和样式库:

是一个很好的库,我已经用了很长时间来获得干净的窗口和界面,特别是一些客户喜欢的“黑暗”主题。 . 几乎没有个人经验,但它的相似之处在于,它有更现代的窗户设计,以及一套大样式。我经常看到它被使用。 . 同样,没有多少经验,但似乎很活跃。我没有看到它像其他两个那样被使用。 这些,当然,包括许多其他地铁主题。还有其他可用的主题包,我发现如果客户想要的话,最好的设计也是可以识别的,来自谷歌

看起来你是在从头开始设计你的风格,但是上面的内容对你来说仍然很有用,你可以简单地在windows上使用。如果你想亲自去做,有一个长时间的讨论,有很多答案

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

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

有两种选择

显式设置所有属性,使其看起来完全符合您的需要。这样做意味着,即使“基本”主题发生变化,它也会 直到看起来很好。以上这些库就是这样做的——它们完全定义了一种样式。问题是,您将不得不在不同的主题上手动测试它,这是一项工作量很大的工作。 手动设置基本主题。也可用于选项1中的测试!您可以手动覆盖应用程序使用的主题,而不是让应用程序使用操作系统的默认主题,方法与应用其他自定义主题或您自己的主题大致相同:
出于某种原因,除非用引号括起来,否则上述内容不会显示为代码…

我会看一看,关于无边框窗口的大量信息:关于曲线边缘,我猜这是因为它根据操作系统选择了不同的主题。你在为这些组件定义样式吗?我一直在使用Mahapps.Metro,经过一系列修改,用于漂亮的窗口和应用程序之间的一致样式。或者最近的WPF材质设计。@Joe,所以没有定义border CornerRadius的样式意味着从主题继承?我想默认情况下会是所见即所得。问题是它在不同的系统上选择不同的主题,这意味着你永远不知道你需要设置什么-我同意这并不理想。看起来您可以手动设置主题,那么它应该是一致的吗?看看这些:,我会看看这个,关于无边界窗口的很多信息:关于曲线边缘,我猜这是因为它根据操作系统选择不同的主题。你在为这些组件定义样式吗?我一直在使用Mahapps.Metro,经过一系列修改,用于漂亮的窗口和应用程序之间的一致样式。或者最近的WPF材质设计。@Joe,所以没有定义border CornerRadius的样式意味着从主题继承?我想默认情况下会是所见即所得。问题是它在不同的系统上选择不同的主题,这意味着你永远不知道你需要设置什么-我同意这并不理想。看起来您可以手动设置主题,那么它应该是一致的吗?看看这些:,
<App.Resources>
  <ResourceDictionary Source="/PresentationFramework.Aero, Version=3.0.0.0,
      Culture=neutral, PublicKeyToken=31bf3856ad364e35,
      ProcessorArchitecture=MSIL;component/themes/aero.normalcolor.xaml"/>
</App.Resources>