是否可以将标记传播到 WPF 中的用户控件?
Is it possible to propagate markup tags to a usercontrol in WPF?
首先,我是 WPF 的新手,如果这是一个显而易见的问题,我深表歉意。我已经研究过这个主题,但一无所获,也许我没有使用正确或适当的词。我将感谢你在这件事上的帮助。
我的问题是"simple":
我在我的应用程序的用户控件中有一个 Telerik RadGridView。这包含 RadGridView、一对按钮和一些额外的功能,并且在程序的所有范围内都非常通用,因此我需要扩展到控件的一些网格功能。
已创建绑定到某些网格属性的 DependencyProperties,它们运行良好。但是问题来了,我有一个通过 XAML.
绑定到网格的 属性 的动态值集合
你会通过一个例子来理解这一点。
RadGridView 可以按某一列或多列对其所有行进行分组。这样做的方法是:
<telerik:RadGridView>
<telerik:GroupDescriptor Member="groupingColumn1"/>
<telerik:GroupDescriptor Member="groupingColumn2"/>
<!--...-->
<telerik:GroupDescriptor Member="groupingColumnN"/>
</telerik:RadGridView>
所以我想要一个具有相同功能并传播到内部网格的控件,例如
<UserControls:RadGridControl>
<telerik:GroupDescriptor Member="groupingColumn1"/>
<telerik:GroupDescriptor Member="groupingColumn2"/>
<!--...-->
<telerik:GroupDescriptor Member="groupingColumnN"/>
</UserControls:RadGridControl>
并以与第一位代码相同的方式将 GroupDescriptors 传播到用户控件内的 RadGridView。
是否可以通过 XAML 执行此操作?
谢谢。
是的,这是可能的。
首先在您的用户控件中添加您想要传播的类型的 属性。你的情况:
Telerik.Windows.Data.GroupDescriptorCollection GroupDescriptors
{
get
{
return mygridview.GroupDescriptors;
}
}
现在,当您想要在控件之外更改组描述符时,您可以执行此操作。
<local:MyUserControl>
<local:MyUserControl.GroupDescriptors>
<telerik:GroupDescriptor Member="groupingColumn1"/>
<telerik:GroupDescriptor Member="groupingColumn2"/>
<!--...-->
<telerik:GroupDescriptor Member="groupingColumnN"/>
</local:MyUserControl.GroupDescriptors>
</local:MyUserControl>
首先,我是 WPF 的新手,如果这是一个显而易见的问题,我深表歉意。我已经研究过这个主题,但一无所获,也许我没有使用正确或适当的词。我将感谢你在这件事上的帮助。
我的问题是"simple": 我在我的应用程序的用户控件中有一个 Telerik RadGridView。这包含 RadGridView、一对按钮和一些额外的功能,并且在程序的所有范围内都非常通用,因此我需要扩展到控件的一些网格功能。
已创建绑定到某些网格属性的 DependencyProperties,它们运行良好。但是问题来了,我有一个通过 XAML.
绑定到网格的 属性 的动态值集合你会通过一个例子来理解这一点。 RadGridView 可以按某一列或多列对其所有行进行分组。这样做的方法是:
<telerik:RadGridView>
<telerik:GroupDescriptor Member="groupingColumn1"/>
<telerik:GroupDescriptor Member="groupingColumn2"/>
<!--...-->
<telerik:GroupDescriptor Member="groupingColumnN"/>
</telerik:RadGridView>
所以我想要一个具有相同功能并传播到内部网格的控件,例如
<UserControls:RadGridControl>
<telerik:GroupDescriptor Member="groupingColumn1"/>
<telerik:GroupDescriptor Member="groupingColumn2"/>
<!--...-->
<telerik:GroupDescriptor Member="groupingColumnN"/>
</UserControls:RadGridControl>
并以与第一位代码相同的方式将 GroupDescriptors 传播到用户控件内的 RadGridView。 是否可以通过 XAML 执行此操作?
谢谢。
是的,这是可能的。
首先在您的用户控件中添加您想要传播的类型的 属性。你的情况:
Telerik.Windows.Data.GroupDescriptorCollection GroupDescriptors
{
get
{
return mygridview.GroupDescriptors;
}
}
现在,当您想要在控件之外更改组描述符时,您可以执行此操作。
<local:MyUserControl>
<local:MyUserControl.GroupDescriptors>
<telerik:GroupDescriptor Member="groupingColumn1"/>
<telerik:GroupDescriptor Member="groupingColumn2"/>
<!--...-->
<telerik:GroupDescriptor Member="groupingColumnN"/>
</local:MyUserControl.GroupDescriptors>
</local:MyUserControl>