[英]Hiding a property of a WPF control from the Designer (Visual Studio 2010)
[英]Visual Studio 2010 WPF Designer scale
我在Visual Studio 2010中创建了简单的界面。当我启动应用程序时,一切都变得更大。 屏幕截图上的红色方块表示已启动应用程序中按钮的大小(右侧)。 我错过了什么吗? 怎么解决?
PS在“Microsoft Expression Blend 4”中,同一项目的大小与编辑器中的大小完全相同。
<Window x:Class="WpfControlReview.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" Height="120" Width="256" ResizeMode="NoResize">
<Grid>
<Button HorizontalAlignment="Stretch" Name="button1" VerticalAlignment="Stretch">
<StackPanel HorizontalAlignment="Stretch" Name="stackPanel1" VerticalAlignment="Center">
<Label IsHitTestVisible="False" Content="Select your options and press to commit" Name="label1" HorizontalContentAlignment="Center" FontSize="12" />
<StackPanel Name="stackPanel2" Orientation="Horizontal">
<Expander Header="Color" Name="expander1">
</Expander>
<Expander Header="Make" Name="expander2">
</Expander>
<Expander Header="Payment" Name="expander3">
</Expander>
</StackPanel>
</StackPanel>
</Button>
</Grid>
</Window>
你是否在视觉工作室设计师中缩小了? 检查左侧的轨迹栏并上下滚动以放大和缩小。
我不确定这是不是一个bug,但这里的基本思想是你已经为你的窗口指定了默认大小,但由于控件想要更大(无论出于何种原因),它会自动调整窗口大小。 可能是Visual Studio在设计器中使用指定参数计算窗口边框大小的错误,因为它错误地将其显示为比实际启动应用程序时小一点。
我宁愿建议您尽可能避免指定高度/宽度。 而是将Window设置为SizeToContent = WidthAndHeight。 如果您需要使用控件的大小,请直接在控件上设置边距或MinWidth / MinHeight。
记住WPF扩展UI。 你玩过DPI设置了吗? 这将影响显示器上UI组件的渲染。 尝试在辅助计算机上运行应用程序以解决显示问题。
来自MSDN:
与分辨率无关且与设备无关的图形。 WPF图形系统中的基本测量单位是与设备无关的像素,无论实际的屏幕分辨率如何,都是1/96英寸,为独立于分辨率和与设备无关的渲染提供了基础。 每个与设备无关的像素会自动缩放以匹配其渲染的系统的每英寸点数(dpi)设置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.