【问题标题】:Custom xaml markup template for user control用于用户控制的自定义 xaml 标记模板
【发布时间】:2014-02-18 13:05:16
【问题描述】:

是否可以在 xaml 中自定义默认用户控件标记?

假设我有一个名为 MyUserControl 的用户控件。

我想知道的 - 当我输入时有可能吗

  <controls:MyUserControl -and then type- > 

而不是仅仅以

结束
  <controls:MyUserControl ></controls:MyUserControl>

拥有

  <controls:MyUserControl DependencyProperty="1" DependencyProperty="Person" ... ></controls:MyUserControl>'

基本上我想创建一个自定义模板,用于在 xaml 编辑器中自动完成用户控件。

目的是立即向用户显示可用的属性(想要使用一些他以前没有使用过的控件的用户可以看到如何更改重要的属性,而无需浏览用户控件上所有可能的属性)

【问题讨论】:

  • 这就是 Intellisense 的用途。
  • 我想我已经解释清楚了,这里的目的不是浏览智能中所有可能的属性,而是提供重要的直接属性

标签: wpf templates user-controls dependency-properties markup


【解决方案1】:

据我所知,没有简单的方法可以做到这一点,但我想说无论如何尝试这样做是不可取的。您说您希望立即向用户显示可用属性,但这就是 Microsoft 在 Visual Studio 中的 Intellisense 的用途。一旦你声明了你的DependencyPropertys,当用户使用你的类时,它们会自动出现在一个弹出窗口中。

由于 .NET 控件按照您的建议进行操作,因此您的控件也不应该真正这样做。您更有可能将开发人员与这种不寻常的行为混淆,他们甚至可能留下这些添加的并且很可能不需要的属性,因为他们不知道更好。帮助您的代码用户的最佳选择是以尽可能标准的方式实现它,以便一切都按预期工作

你知道,最烦人的错误是由代码问题引起的,这些问题是为了帮助我们

【讨论】:

  • 我记得在 ASP.NET 中可以做到这一点,您可以自定义标记。如果 WPF 可能,我只是在徘徊,但我找不到任何东西......
  • 我认为这里不会有错误,因为您使用的是已经创建的 DP,假设是默认值,无论如何都会使用这些......我认为这更多是一种选择,比如使用“prop”、“propa”、“propdp”等创建不同属性的快捷方式-您有不同的自动代码创建选项...可能有用,或者如您所建议的那样,有时可能会令人困惑,但可以节省时间-不经常浏览许多属性...
猜你喜欢
  • 2021-02-24
  • 2013-04-23
  • 1970-01-01
  • 2015-11-10
  • 1970-01-01
  • 1970-01-01
  • 2011-10-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多