C# - Silverlight - 自定义控件还是UserControl?

时间:2010-05-21 19:25:05

标签: c# silverlight user-controls

我需要一个视觉上完全可自定义的按钮,但具有自定义逻辑来发布事件并根据其注册的事件管理它的可视状态。

当我说可视化定制时,我的意思是我应该能够在xaml中创建按钮并通过绑定到提供的样式来设置它的样式。或者我可以创建按钮的实例,并通过将参数传递给备用构造函数来设置样式。或者通过调用按钮类上的方法来设置样式。

我不打算替换控件模板,它应该是一个按钮。有人能指出我的一些代码样本吗?

2 个答案:

答案 0 :(得分:0)

如果你不想允许控件被模板化(我通常会建议你这样做,但你不必这样做),而不是UserControl可以正常工作。公开应用于特定控件的ButtonStyle属性的简单用户控件应该可以满足您的需求。

答案 1 :(得分:0)

完全取决于您的申请。我创建ContentControl衍生产品的次数比UserControl要高得多,只是为了希望它们在未来可能会有用。

我之前写过:

  

UserControls是针对简单设计时使用而优化的内容控件,通常用于在应用程序内共享,但不与其他应用程序共享。

     

组件库永远不应包含UserControl实现。