几乎没有关于设置影响的信息;
VirtualizingStackPanel.IsVirtualizing="True"
Run Code Online (Sandbox Code Playgroud)
和
EnableRowVirtualization="True" EnableColumnVirtualization="True".
Run Code Online (Sandbox Code Playgroud)
有人可以澄清一下有什么区别吗?
此外,作为额外的奖励,任何人都可以澄清EnableRowVirtualization和EnableColumnVirtualization是否在3.5网格上实际执行任何操作,因为MSDN文档仅将这些属性列为4.0,但它们肯定存在于3.5中?
谢谢.
似乎ContainerStyle
优先使用它们HeaderTemplate
时指定两者,如下所示;
<controls:DataGrid.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Path=Name}" Background="Yellow" />
</StackPanel>
</DataTemplate>
</GroupStyle.HeaderTemplate>
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<Expander IsExpanded="true" Background="Violet">
<Expander.Header>
<DockPanel TextBlock.FontWeight="Bold">
<TextBlock Text="{Binding Path=Name}" />
<TextBlock Text="{Binding Path=ItemCount}"/>
</DockPanel>
</Expander.Header>
<ItemsPresenter />
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
</GroupStyle>
</controls:DataGrid.GroupStyle>
Run Code Online (Sandbox Code Playgroud)
唯一的区别是HeaderTemplate
无法访问ItemsPresenter
,或与分层数据结构有什么区别?
谢谢!
编辑链接到http://wpftutorial.net/DataGrid.html#grouping.我实际上并没有直接从那里拿到这个例子,但它是一个很棒的网站,所以无论如何他们都可以拥有一个链接.