当我在Visual Studio 2010中创建WPF布局时,我只是将控件从工具箱拖放到默认元素(通常是网格)上。当我这样做时,Visual Studio中显示的间距与运行时显示的间距不匹配。例如,以下是两种布局的可视化编辑器和运行时结果。 。 。Visual Studio 2010 XAML布局编辑器不是所见即所得
。 。 。和。 。 。
...注意间距被改变。
以下是为这两个示例生成的XAML。 。 。
<Button Content="ProjectPattern" Height="23" HorizontalAlignment="Left" Margin="12,296,0,0" Name="butProjPattern" VerticalAlignment="Top" Width="117" Click="butProjPattern_Click" />
<TextBlock Height="22" HorizontalAlignment="Left" Margin="135,0,0,141" Name="ResultProjPattern" Text="(result)" VerticalAlignment="Bottom" Width="41" />
<TextBlock Height="23" HorizontalAlignment="Left" Margin="175,295,0,0" Name="TextBlockPattern" Text=" (pattern file)" Padding="4" VerticalAlignment="Top" Width="135" Background="#FFF1F3FF" />
<Button Content="...browse" Height="23" HorizontalAlignment="Right" Margin="0,294,814,0" Name="buttonPatternBrowse" VerticalAlignment="Top" Width="54" Click="buttonPatternBrowse_Click" />
......还有......
<Button Content="Display Cross" Height="24" HorizontalAlignment="Left" Margin="622,108,0,0" Name="buttonCross" VerticalAlignment="Top" Width="117" Click="buttonCross_Click" />
<TextBlock Height="24" HorizontalAlignment="Right" Margin="0,107,344,0" Name="ResultCross" Text="(result)" VerticalAlignment="Top" Width="100" />
<Button Content="Display Diamond" Height="23" HorizontalAlignment="Left" Margin="622,138,0,0" Name="butDiamond" VerticalAlignment="Top" Width="117" Click="butDiamond_Click" />
<TextBlock Height="23" HorizontalAlignment="Right" Margin="0,138,344,0" Name="ResultDiamond" Text="(result)" VerticalAlignment="Top" Width="100" />
<Button Content="DisplayFullField" Height="24" HorizontalAlignment="Left" Margin="622,165,0,0" Name="butFullField" VerticalAlignment="Top" Width="117" />
<TextBlock Height="24" HorizontalAlignment="Right" Margin="0,164,344,0" Name="ResultFullField" Text="(result)" VerticalAlignment="Top" Width="100" />
我添加按钮处理,文字内容等,但布局是由Visual Studio的布局编辑器生成严格什么。我注意到的一件事是,即使它从工具箱拖放到网格上,Visual Studio对于它的HorizontalAlignment为不同的元素选择“Left”还是“Right”是不一致的。
容器元素只是默认窗口中的默认网格 - 它可以最小化但不能调整大小。 。 。
<Window x:Class="Caller1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="500" Width="1200" ResizeMode="CanMinimize">
<Grid Height="460">
的结果是,我要浪费大量的时间编辑之间去运行我的应用程序“调整”我的布局。什么阻止“所见即所得”布局编辑器匹配运行时布局,以及如何让它们对应?
在此先感谢。
你需要张贴父容器的XAML太(即网格)。 –
好的,我添加了这个信息,但它非常基本和默认。 – user316117