【问题标题】:How to use LoadingRowGroup in SilverLight DataGrid如何在 SilverLight DataGrid 中使用 LoadingRowGroup
【发布时间】:2011-01-10 21:00:24
【问题描述】:

我想在 SilverLight DataGrid 中使用 LoadingRowGroup 事件来显示组摘要。

我有一个活动:

void dataGrid1_LoadingRowGroup(object sender, DataGridRowGroupHeaderEventArgs e)
{                        
    // e.RowGroupHeader
}

但我不知道如何使用 e.RowGroupHeader 来设置组头值。也许我应该使用e.RowGroupHeader.Template,但我不知道如何通过代码设置模板。

【问题讨论】:

    标签: silverlight datagrid events


    【解决方案1】:

    由于没有人帮助我,我自己找到了解决方案:)

    其实有两种方式:
    1) 通过在 DataGrid 中使用 LoadingRowGroup 事件:

     void dataGrid1_LoadingRowGroup(object sender, DataGridRowGroupHeaderEventArgs e)
     {
          e.RowGroupHeader.Template = (ControlTemplate)System.Windows.Markup.XamlReader.Load(
               @"<ControlTemplate xmlns=""http://schemas.microsoft.com/client/2007"">
                        <StackPanel Orientation=""Horizontal"" Background=""LightGray"">
                            <TextBlock Text=""Name of group: "" HorizontalAlignment=""Left""/>
                            <TextBlock Text=""{Binding Name}"" HorizontalAlignment=""Left""/>
                        </StackPanel>
               </ControlTemplate>");
     }
    

    2)通过设置DataGridRowGroupHeader的Style:

        <data:DataGrid.RowGroupHeaderStyles>
                <Style TargetType="data:DataGridRowGroupHeader">
                    <Setter Property="SublevelIndent" Value="0" />
                    <Setter Property="Height" Value="30" />
                    <Setter Property="IsEnabled" Value="false" />
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate>
                                <StackPanel Orientation="Horizontal" Background="LightGray">
                                    <TextBlock Text="Name of group: " HorizontalAlignment="Left"/>
                                    <TextBlock Text="{Binding Name}" HorizontalAlignment="Left"/>                                                                                                    
                                </StackPanel>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>                    
                </Style>
        </data:DataGrid.RowGroupHeaderStyles>
    

    (2) 方式更适合静态元素。但是当您想以更动态的方式生成标头时,可以使用第一个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-30
      • 2011-01-03
      • 2010-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多