IDE中的C#WPF预览与调试时不同

问题描述 投票:0回答:2

我在网格中有一个Label,并在其中定义了fontsize,但是,我为字典中的所有标签定义了全局样式。在Blend中的预览中,它看起来很好,并且fontsize为10且fontweight是正常的,但是当我调试程序时,fontsize为17且fontweight为中等。即使我尝试在应用程序运行时更改fontsize和fontweight,也看不到任何内容。为什么会发生这种情况,我该如何避免呢?

编辑:即使我从字典中删除了二传手,也没有变化,所以不会有问题。我还添加了一个app.manifest,DPI Awareness设置为true,并且没有任何更改。

标签:<Label Content="0" FontWeight="Normal" FontSize="10"/>

字典:

<Style x:Key="{x:Type Label}" TargetType="{x:Type Label}">
                   <Setter Property="Foreground" Value="#C7C7C7"/>
                   <Setter Property="FontSize" Value="17"/>
                   <Setter Property="FontWeight" Value="Medium"/>
              </Style>

预览:Preview

调试:Debug

c# wpf label blend
2个回答
0
投票

我认为您在使用高DPI分辨率时遇到问题。

在IDE设计中,您将看到100%DPI的表单,但是在调试时,它将按比例缩放125%150%...取决于您的分辨率设置...

您可以在此处找到更多信息(包括解决方案-使DPI感知程序,GDI ...):https://docs.microsoft.com/en-us/windows/win32/learnwin32/dpi-and-device-independent-pixels?redirectedfrom=MSDN

更新:再次阅读本文后,我认为Mathew是正确的。

您可以尝试删除字体大小设置器或尝试执行以下操作:

<Label><Label.Style>
<Style TargetType=“Label” BasedOn=”{StaticResource {x:Type Label}}“>
<Setter Property=“FontWeight” Value=“Normal”/>
<Setter Property=“FontSize” Value=“10”/>
</Style></Label.Style>0</Label>

0
投票

((我知道,回答您自己的问题很奇怪,但是我终于找到了它!)textblocks的全局样式也会影响标签。我没有意识到,所以没有添加有关它的信息。无论如何,谢谢您的帮助。

© www.soinside.com 2019 - 2024. All rights reserved.