我正在尝试为我的ListView创建一个自定义的groupstyle扇区,就像我在堆栈溢出中在这里看到的其他问题一样。
public class TestGroupStyleSelector : GroupStyleSelector
{
protected override GroupStyle SelectGroupStyleCore(object item, uint level)
{
return (GroupStyle)App.Current.Resources["grpStyle"];
}
}
<ListView GroupStyleSelector="{StaticResource grpStyleSelector}">
我有两个错误:
错误1'TestGroupStyleSelector':无法从密封类型'System.Windows.Controls.GroupStyleSelector'派生
错误2无法将类型为“ TestGroupStyleSelector”的对象应用于期望类型为“ System.Windows.Controls.GroupStyleSelector”的属性。
我已经声明了该类,就像这里显示的其他问题一样,在这一点上我很迷茫,如何为我的列表视图创建groupstyleselector,有什么想法吗?
最佳答案
GroupStyleSelector是由ItemsControl公开的委托:
用法:
public GroupStyleSelector GroupStyleSelector
{
get { return (GroupStyleSelector) GetValue(GroupStyleSelectorProperty); }
set { SetValue(GroupStyleSelectorProperty, value); }
}
减速:
public delegate GroupStyle GroupStyleSelector(CollectionViewGroup group, int level);
它是委托类型,不能从do继承到语言规范。
您需要做的是创建一个从StyleSelector派生的类:
public class GroupStyleSelector : StyleSelector
{
public override Style SelectStyle(object item, DependencyObject container)
{
return base.SelectStyle(item, container);
}
}
关于c# - ListView的GroupStyleSelector,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26260721/