WPF - 哪个更好?风格还是用户控制?

标签 wpf user-controls custom-controls styles

我想知道是哪一个StyleUserControl在 WPF 中使用会更好吗?

例如:
我以两种不同的方式创建了一个图像按钮。
一用StyleContentTemplate属性设置。
它使用另一个具有依赖属性的类。

另一种方式是我创建了一个 UserControl它有一个按钮并设置了它的内容属性。
文件 UserControl.xaml.cs还包含依赖属性。

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

Custom button template in WPF

使用哪一种会更好?在哪种情况下应该选择 StyleUserControl或任何 CustomControl ?

最佳答案

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

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

例如,
要创建像播放按钮这样的按钮,请使用样式和模板,但要创建一个播放按钮,它会在暂停后更改其外观,请使用 UserControl。

关于WPF - 哪个更好?风格还是用户控制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2735565/

相关文章:

c# - 如何在不阻塞 UI 的情况下在 Binding 中加载控件?

wpf - 为 WPF 表单组合图像和纯色背景

wpf - 设计从外部控件 : How to have some sample data in designer but use inherited DC at runtime? 获取其 DataContext 的 WPF UserControl

windows - 如何在 Delphi 中处理自定义组件中的箭头键?

cocoa - NSPopUpButton 单击时自定义单元格内的单元格不会弹出

JavaFX 属性的 invalidate() 方法未通过绑定(bind)调用

c# - 如何在文本框上显示气球提示?

wpf - 根据上下文启用或禁用验证

c# - 正确处理 WPF UserControl 上的控件

c# - 如何在 .NET 中实现更平滑的 GUI 转换?