我需要创建一个具有某些功能的基本用户控件(如拖动,最小化等等)。 现在我需要一堆其他用户控件来继承它并添加它们的内容。
我想要一个选项来添加新的用户控件,这些控件只实现基本控件的一部分,并保留其余的元素和功能。
如何将基本用户控件中的某个元素(grid,stackpanael,.. whatever ..)绑定到新控件? (不在后面的代码中加载xaml)
我基本上想要在不同用户控件的基础用户控件的“专用元素”中“植入”xaml元素。
答案 0 :(得分:0)
如果编写自定义控件,则可以在模板中使用的其中一个控件称为“ContentControl”。然后,当您在页面上使用自定义控件时,您可以在xaml中指定内容的内容。因此,您可以放入Grid,StackPanel,无论在那里。
但请注意,编写自己的自定义控件很少由第三方组件供应商完成,因为它需要相当深入的SL知识(例如,如何使用依赖属性)。更常用的是“用户控制”,它更容易使用,并且不需要这样的知识。我通常首先尝试使用UserControl完成我需要的操作,如果我遇到了障碍,那么请切换到CustomControl。
但是大多数现有控件已经带有你描述的功能 - 拖放,最小化等等.SL已经拥有丰富的UI控件集,所以一个好的起点是看看现有控件之一是否有最多你需要什么,然后从那里拿走它。
Greg