【问题标题】:Pre-defined XAML code for new control that is added in VS designer在 VS 设计器中添加的新控件的预定义 XAML 代码
【发布时间】:2014-05-19 11:03:40
【问题描述】:

当您将控件从工具箱放到设计器时,有没有办法自动生成 XAML 代码? IE。它会自动创建某些对象(嵌套属性),用户不必每次都输入相同的代码来设置某些(嵌套)属性。一种由控件的开发人员预定义的模板 XAML 代码。

我对 WPF 很陌生,所以我想知道为什么 Visual Studio 工具箱中的控件(按钮、标签等)中没有任何嵌套属性?附加属性是否可以解决此问题,或者在设计 WPF 时它们只是偷工减料。 :)

问题是我的控件(WinForms 样式属性层次结构)具有嵌套属性,如果我在代码中“内部”为这些属性创建对象,那么 XAML 不会反映这种情况,因为它没有任何与当前匹配的元素情况(即在我的控件的构造函数中创建的对象)。

将所有属性都保留为空并让用户全部创建它们的唯一解决方案是什么?这样它似乎可以正常工作,但用户必须编写多行 XAML 来反映 WinForms 中的情况。

【问题讨论】:

  • -1。文字墙而不是一行代码。顺便说一句,虽然 winforms 完全没用,并且需要一堆可怕的 hack 来解决任何问题,但 WPF 具有称为 Styling and Templating 的这些功能,可用于为单个 UI 元素定义应用程序范围的设置(例如设置属性、颜色等) .不要试图将 winforms hack 融入 WPF,它们既不需要也不需要。
  • 任何你可以提供任何实际帮助的机会,而不是反对投票和说坏话的 WinForms。你似乎是那种对真正的编程语言(如 C/C++ 或汇编)没有实际经验的人,并且喜欢 WPF 和 LabView 等“高级”工具。你的评论完全没用。很抱歉打破了你的泡沫。很遗憾,您不能对 cme​​ts 投反对票。这可能是你评论的原因......
  • 抱歉,我没有 C++ 方面的经验,但这并没有让您的问题变得更好。您应该发布您尝试的解决方案的相关代码,在 StackOverflow 中发布问题之前,请参阅 How To Ask

标签: c# .net wpf winforms xaml


【解决方案1】:

您所寻求的功能无法通过 WPF 中的任何控件获得。然而,Visual Studio 曾经有宏,可以让我们将预先编写的代码部分添加到我们的页面中,但不幸的是,他们决定删除这个强大的功能。幸运的是,他们引入了Code Snippets 作为部分替代方案。

不幸的是,这些代码片段在 XAML 页面中不起作用,但再次幸运的是,有一些 Visual Studio 插件可以让您通过单击Code Plex 网站:

XAML Code Snippets addin for Visual Studio 2010
XAML Snippets for Visual Studio

请尝试使用上述插件之一,看看它们是否满足您的需求。

【讨论】:

    猜你喜欢
    • 2011-08-29
    • 1970-01-01
    • 1970-01-01
    • 2019-01-02
    • 1970-01-01
    • 1970-01-01
    • 2014-12-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多