.net 什么时候应该创建控件的子类,什么时候应该创建面板的子类?
在WPFor Silverlight中,何时应创建控件的子类,何时应创建Panel的子类.net 什么时候应该创建控件的子类,什么时候应该创建面板的子类?,.net,wpf,silverlight,windows-phone-7,controls,.net,Wpf,Silverlight,Windows Phone 7,Controls,在WPFor Silverlight中,何时应创建控件的子类,何时应创建Panel的子类 对于每种情况,适当的场景是什么?一个需要考虑的问题是,当需要新的行为时,通常只在WPF/Silverlight中创建自定义控件。如果您只想更改外观,那么通常可以使用样式、控件模板等进行更改。当我有一个刚性结构时,我使用自定义控件-这意味着我可以在Xaml中精确地布局我想要的内容,即使我可能通过使用多个看起来完全不同的Xaml定义来对控件进行蒙皮。我编写的电子表格控件就是一个例子。一个Xaml定义具有菜单和按
对于每种情况,适当的场景是什么?一个需要考虑的问题是,当需要新的行为时,通常只在WPF/Silverlight中创建自定义控件。如果您只想更改外观,那么通常可以使用样式、控件模板等进行更改。当我有一个刚性结构时,我使用自定义控件-这意味着我可以在Xaml中精确地布局我想要的内容,即使我可能通过使用多个看起来完全不同的Xaml定义来对控件进行蒙皮。我编写的电子表格控件就是一个例子。一个Xaml定义具有菜单和按钮的特定颜色和布局集,另一个定义则完全不同。当我使用自定义控件时,我总是知道我在布置什么 当我需要覆盖MeasureOverride和ArrangeOverride时,我使用自定义面板,这些面板通常是虚拟的,这意味着我只实例化可见的内容。自定义面板的一个示例是我编写的一个显示数百幅图像的面板。您可以更改布局,例如,一堆页面,2个并排或平铺,以便尽可能多的页面适合和缩放级别。我只读取和显示在自定义面板中可见的图像,并且有一个滚动条可以平移它们
大多数标准面板,如Grid、StackPanel等,都是Microsoft编写的自定义面板。这将使您了解自定义面板的用途——在特定模式中排列未知数量的子元素。另一方面,自定义控件用于设计特定的UI,通常是通过Xaml样式进行蒙皮的UI。最初的想法:获得更自定义的面板或控件。我在上一篇文章的回复中解释了这一点。@lukas:谢谢,我看到了。我发布了这篇文章,让问题更简单。最后一个有点太复杂了。