Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.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
如何防止VS WPF设计器在工具箱中的每个对象上添加边距_Wpf_Visual Studio 2008_Wpf Controls_Designer - Fatal编程技术网

如何防止VS WPF设计器在工具箱中的每个对象上添加边距

如何防止VS WPF设计器在工具箱中的每个对象上添加边距,wpf,visual-studio-2008,wpf-controls,designer,Wpf,Visual Studio 2008,Wpf Controls,Designer,当我将一个控件从工具箱拖到VisualStudio2008WPF设计图面上时,它会根据我放置它的位置和默认大小设置一个边距 有没有办法防止VS设置这些?当我在stackpanel上放置控件时,我希望它流入面板中的现有控件 谢谢 我从来没有找到一种方法来防止这种情况。我只是键入XAML 编辑: 我差不多三年前写过上面这篇文章。同时,设计时的体验似乎得到了很大的改善 当你拖放时,设计者仍然会添加硬编码的边距,但是有一些方法可以删除这些边距,而不必手工操作 下面是一篇文章的链接,该文章演示了如何在Vi

当我将一个控件从工具箱拖到VisualStudio2008WPF设计图面上时,它会根据我放置它的位置和默认大小设置一个边距

有没有办法防止VS设置这些?当我在stackpanel上放置控件时,我希望它流入面板中的现有控件


谢谢

我从来没有找到一种方法来防止这种情况。我只是键入XAML

编辑

我差不多三年前写过上面这篇文章。同时,设计时的体验似乎得到了很大的改善

当你拖放时,设计者仍然会添加硬编码的边距,但是有一些方法可以删除这些边距,而不必手工操作

下面是一篇文章的链接,该文章演示了如何在VisualStudio2010中使用设计工具来布局表单,而不必键入任何XAML。(尽管标题是关于WPF的。)

本文的第一部分展示了硬编码的像素,但我链接到了第二部分,展示了如何在没有硬编码的情况下布局控件


当我将控件放入stackpanel时,它不会添加边距,而是与其余控件一起“流动”

默认情况下,放置在设计图面上的控件有一个边距,因为这是它知道放置位置的方式。我通常做的是创建一个网格,并将其边距设置在需要的位置,然后创建列和行以将控件放入其中。我加入了我的其他控件,这些控件将添加通常不是我想要的边距。在将所有控件放入网格并合理放置后,我切换到XAML视图,要么完全删除边距(这会导致按钮之类的控件填满整个空间),要么将边距设置为5,这样可以在控件周围添加一些漂亮的填充


底线是……对于Silverlight开发来说尤其如此,您必须习惯于直接操作XAML。这是唯一能让你得到你想要的布局的方法。这是我的观点,也是我店里从事WPF/silverlight开发的大多数人的观点。

不幸的是,似乎没有办法做到这一点

默认大小是在设计器中操纵控件大小时设置的。当您增加控件的宽度和/或高度时,设计器将您的操作解释为请求使控件具有指定的宽度和/或高度

页边距也会遇到类似的情况。当您在设计器中更改控件的位置时,它会修改属性以实现您创建的布局。对于大多数容器,最简单的解决方案是修改边距以达到所需的位置,正如您已经指出的,simples解决方案并不总是最理想的


就我个人而言,我更喜欢只使用XAML编辑器,并且当我想查看当前布局时,偶尔会在WPF设计器上达到峰值。我也倾向于使用网格来布局我的大多数窗口/控件,因为它不仅为大小调整和定位提供了最大的灵活性,而且为其他任务/功能(如动画、变换等)提供了最大的灵活性。

这里也一样。WPF设计师对我的口味来说太慢了,太多了。我同意。设计师在提供xaml所表示内容的代表性显示方面做得更好了,但我不知道它是否有可能提供winforms designer的出色拖放体验,因为它的底层模型完全不同。我不认为有任何理由不可能。您可以在ASP.NET中将其拖放到设计器或标记中。在WPF中做同样的事情似乎不是很长的一步。但不管出于什么原因,微软并没有把它列为优先考虑的事情。目前,我也在窃听这件事。