- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在我的样式中设置 DataGrid.GroupStyle,这样它对于所有数据网格都是相互的,而不是在我的 View 文件中,我需要在其中分别为每个数据网格设置它。这就是我现在拥有的:
<Style x:Key="DGView" TargetType="DataGrid">
<Setter Property="Height" Value="Auto" />
<Setter Property="Margin" Value="0,3,0,0" />
<Setter Property="RowHeaderWidth" Value="0" />
<Setter Property="SelectionMode" Value="Single" />
<Setter Property="SelectionUnit" Value="FullRow" />
<Setter Property="CanUserAddRows" Value="False" />
<Setter Property="CanUserDeleteRows" Value="False" />
<Setter Property="AutoGenerateColumns" Value="False" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="DataGrid.CellStyle" Value="{StaticResource DGCell}" />
</Style>
<DataGrid Style="{StaticResource DGSecondaryView}" >
<DataGrid.GroupStyle>
<GroupStyle ContainerStyle="{StaticResource GIView}" >
<GroupStyle.Panel>
<ItemsPanelTemplate>
<DataGridRowsPresenter/>
</ItemsPanelTemplate>
</GroupStyle.Panel>
</GroupStyle>
</DataGrid.GroupStyle>
<DataGrid.Columns>
<DataGridTextColumn Header="BookID" Binding="{Binding BookID}" Visibility="Collapsed"/>
<DataGridTextColumn Header="Title" Binding="{Binding Title, Converter={StaticResource StringToOffset}}" Width="3*" IsReadOnly="True" />
<DataGridTextColumn Header="Sequence" Binding="{Binding Sequence}" Width="3*" IsReadOnly="True" />
<DataGridTextColumn Header="Number" Binding="{Binding Number}" Width="1*" IsReadOnly="True" CellStyle="{StaticResource Numeric}" />
</DataGrid.Columns>
</DataGrid>
我想要的是将以下代码插入到样式标签中。可能吗?
<DataGrid.GroupStyle>
<GroupStyle ContainerStyle="{StaticResource GIView}" >
<GroupStyle.Panel>
<ItemsPanelTemplate>
<DataGridRowsPresenter/>
</ItemsPanelTemplate>
</GroupStyle.Panel>
</GroupStyle>
</DataGrid.GroupStyle>
最佳答案
我需要为 ListBox 执行此操作,因此我创建了从 ListBox 继承的新控件并添加了一个可绑定(bind)和可设置样式的属性。可以对 DataGrid 执行相同的操作。
public class MyListBox : ListBox
{
public GroupStyle DefaultGroupStyle
{
get { return (GroupStyle)GetValue(DefaultGroupStyleProperty); }
set { SetValue(DefaultGroupStyleProperty, value); }
}
// Using a DependencyProperty as the backing store for DefaultGroupStyle. This enables animation, styling, binding, etc...
public static readonly DependencyProperty DefaultGroupStyleProperty =
DependencyProperty.Register("DefaultGroupStyle", typeof(GroupStyle), typeof(MyListBox), new UIPropertyMetadata(null, DefaultGroupStyleChanged));
private static void DefaultGroupStyleChanged(DependencyObject o, DependencyPropertyChangedEventArgs e)
{
((MyListBox)o).SetDefaultGroupStyle(e.NewValue as GroupStyle);
}
private void SetDefaultGroupStyle(GroupStyle defaultStyle)
{
if (defaultStyle == null)
{
return;
}
if (this.GroupStyle.Count == 0)
{
this.GroupStyle.Add(defaultStyle);
}
}
}
关于wpf - 在样式中设置 DataGrid.GroupStyle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7379630/
我有一个 ListView 控件绑定(bind)到 ListCollectionView在 View 模型中。 我想尝试对这些项目进行分组,但遇到了一些问题。 我将 VM 中的属性分组设置为开头,然后
我想在我的样式中设置 DataGrid.GroupStyle,这样它对于所有数据网格都是相互的,而不是在我的 View 文件中,我需要在其中分别为每个数据网格设置它。这就是我现在拥有的:
我有一个 Windows Phone 8.1 WinRT 应用程序。我正在使用 SemanticZoom + ListView 组合通过 CollectionViewSource 显示分组列表。 当我
我正在尝试为 GroupStyle 控件模板中的控件设置 AutomationProperties.Name 属性,但它似乎没有产生任何结果。我在我的模板中的 Expander 上设置了它,但即使我只
我尝试列出几个应该在三个不同组中可视化的数据项: 仪表板 家政 科学 使用 MVVM (Model-View-ViewModel) 设计模式,我制作了两个模型类: 数据组.cs public clas
在Windows通用平台上的ListViews中,当您使用ListView分组时,组标题下方有一条丑陋的分隔线。甚至微软自己也在他们的应用程序中删除了这一行。在实时可视化树中,您可以看到它是 Grid
我正在尝试使用 GroupStyle 但不是将组名显示为列表中项目的标题,它只显示标题而不是项目。 在我对列表应用特殊样式之前,它工作正常。然后我认为这种风格很假,所以我为这种效果创建了一个 User
好的,这是我非常简单的问题。 我有一个 ListView我的样式是为了使它看起来像 Windows 资源管理器。 现在,我想将里面的项目分组。因此,我定义了一个 GroupStyle与 Expande
我正在尝试为 ContexMenu 设置默认样式,并且我想在样式内将默认 GroupStyle 设置为 ContexMenu。像这样的东西:
我有一个 ItemsControl绑定(bind)到 CollectionViewSource绑定(bind)到 View 模型上的属性。 ItemsControl有一个 GroupStyle设置如下
我正在将 Windows Phone 应用程序移植到 Windows 应用商店并尝试创建分组的 ListView。有一个good article在开发中心对列表进行分组是没有问题的。但是我对 Grou
我试图在包含扩展器和标题的 ListView 中显示不同的组。但是,如果组仅包含 1 个项目,我不希望我的 SecondLevel 组显示标题。因为这会很不方便。我的代码:
我编写了一个 ListView使用 xaml,mvvm 报告,它工作得很好。 xaml 代码部署 ListView.GroupStyle生成的报告有一个组标题、项目列表和组总计和计数。 它看起来像这样
如何在运行时根据某些条件在 ListView 的 GroupStyles 之间切换?例如,我需要对具有 GroupStyle header 名称为 null 的项目使用 Default,如果它不为 n
我正在尝试创建一个 Style 来为我的 ListBox 控件设置 GroupStyle 属性,但是我遇到了编译时错误: The Property Setter 'GroupStyle' cannot
我想在列表框中按创建日期对我的项目(图像)进行分组。然后我只使用这段代码: 但是 当我尝试应用某些样式(即边框)时,我没有显示任何组名。只有边框这是我使用 DateTim
我对 GroupStyle 和 Expander.IsExpanded 绑定(bind)有疑问。我的代码基于这个答案:How to save the IsExpanded state in group
有人可以将此 XAML 重写为 C# 代码吗?
我正在尝试创建一个 ListView分组,其中每组中的元素水平显示(作为可滚动内容)。无论我如何尝试 GroupStyle.Panel的ListView它似乎对列表没有任何影响。 这是我的 XAML
我有一个带有多个标题的 WPF 列表框。我通过使用 GroupStyle 来实现这一点,我在其中定义了每个 header 的外观:
我是一名优秀的程序员,十分优秀!