【问题标题】:How to stop visual studio from changing properties of controls in WPF form when I add a new control to form using Designer?当我使用 Designer 向表单添加新控件时,如何阻止 Visual Studio 更改 WPF 表单中控件的属性?
【发布时间】:2012-10-20 18:40:06
【问题描述】:

我正在使用 Visual Studio Ultimate 2010。在 WPF 形式中,我有一个包含许多控件的网格。每当我尝试使用设计器向网格添加新控件时,Visual Studio 都会以某种方式更改所有其他控件的属性,例如 Grid.Row、Grid.Column 属性。因此,我必须手动更改这些属性。如何阻止 Visual Studio 更改 wpf 表单中某些控件的属性?有什么方法可以锁定 WPF 表单中的某些控件,以便它们的属性不会改变。 简单的解决方案将不胜感激。 谢谢。

我看到了一些与此相关的问题,但没有找到一个好的解决方案。

【问题讨论】:

    标签: c# wpf visual-studio-2010 visual-studio visual-studio-2005


    【解决方案1】:

    如果您在导致现有控件移动的位置添加新控件,设计人员将更改现有控件的附加布局相关属性,因此实际上归结为要小心添加新内容的位置。

    或者做我们最终做的事情,这几乎完全放弃了设计师。我们构建的大部分内容都是在 XAML 中手工构建的,一旦您熟悉了它,它的体验就会好得多,因为您可以控制各个方面。设计师擅长快速将某些东西组合在一起,但如果您希望它的行为完全符合您的要求,您将不得不在某个时候进入 XAML。

    尤其是在您开始编写数据模板之后。

    【讨论】:

    • 我想是的,如果我今天找不到有用的东西,那么我将不得不在 XAML 中处理大多数事情。
    【解决方案2】:

    设计师很烂。如果您正在做很多事情,请考虑复制和粘贴 xaml。 或者,如果您创建大量元素 9(听起来可能是这样)在一些 for 循环中执行此操作,如下所示:

    nameofgrid.Children.Add(listoftextblocks[i]);
    Grid.SetColumn(listoftextblocks[i], 0);
    Grid.SetRow(listoftextblocks[i], i + 1) 
    

    希望有人可以在编辑器方面提供更多帮助,我发现你必须非常小心用鼠标放置东西的位置,但我希望这些提示会有用。

    【讨论】:

    • 是的,这很有帮助,但希望有更好的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2010-12-23
    • 2020-01-31
    • 2014-08-25
    • 1970-01-01
    相关资源
    最近更新 更多