代码之家  ›  专栏  ›  技术社区  ›  Archie

哪个更好?样式还是用户控件?

  •  4
  • Archie  · 技术社区  · 15 年前

    我想知道 Style UserControl 在wpf中使用会更好吗?

    例如: 我用两种不同的方法创建了一个图像按钮。 一使用 风格 ContentTemplate 属性已设置。 它使用另一个具有依赖关系属性的类。

    另一种方式是我创造了一个 用户控制 它有一个按钮并设置了其内容属性。 文件 UserControl.xaml.cs 还包含依赖项属性。

    有关代码详细信息,请参阅此问题的答案:

    Custom button template in WPF

    哪个比较好用?在哪种情况下 风格 用户控制 或任何 CustomControl ?

    2 回复  |  直到 13 年前
        1
  •  2
  •   Archie    15 年前

    样式仅限于设置xaml元素的默认属性。例如,当我设置border brush时,我可以指定笔刷,但不能指定边框的宽度。要完全自由地显示控件外观,请使用模板。为此,请创建样式并指定模板属性。

    样式和模板仍然只允许您更改控件的外观。要添加行为和其他功能,需要创建自定义控件。

    例如, 要创建类似于播放按钮的按钮,请使用样式和模板,但要创建播放按钮,该按钮将在暂停后更改其外观,请使用usercontrol。

        2
  •  0
  •   ChrisBD    15 年前

    对于这种类型的东西,我会采用样式,即使我不是很擅长图形工具。我倾向于创建一个基本的、无聊的样式,我可以从它开始,然后在应用程序功能被验证后对其进行美化。

    wpf最棒的地方是能够将图形化的外观、感觉和行为与代码保持距离。

    这允许您在不重新访问代码的情况下更改应用程序的样式,实际上意味着您可以在运行时动态更改样式。

    对于在xaml中放置了多少行为以及在代码中放置了多少行为,有一行很难理解。一个粗略的指导是决定ui中必须始终存在哪些行为,并将其放在代码中,其他的都放在xaml中。

    把代码看作是一个抽象类,有定义的接口,把xaml样式看作是基于这个类的类,你就会明白我的意思。

    相反,我知道更擅长gui工作的人更喜欢在xaml中添加更多的功能,而其他人则更喜欢代码端,因为他们发现gui工作缓慢或困难。

    当你这样想的时候,你会发现从来没有正确或错误的答案,只有更好的解决方案适合你的技能。