首先,我对WPF很新,很抱歉,如果这是一个明显的问题。我已经研究过这个问题并没有发现任何东西,也许我没有使用正确或合适的词语。我将非常感谢你对此事的帮助。
我的问题是“简单”: 我的应用程序中的用户控件中有一个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传播到usercontrol里面的RadGridView,方法与第一段代码相同。 是否可以通过XAML执行此操作?
感谢。
答案 0 :(得分:1)
是的,这是可能的。
首先在用户控件中添加要传播的类型的属性。在你的情况下:
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>