【问题标题】:Auto expand hierarchical data rows in Xamdatarrid在 Xamdatarrid 中自动展开分层数据行
【发布时间】:2014-11-12 06:26:55
【问题描述】:

我有一个包含分层数据的 Xamdatagrid。我想自动显示所有此类记录。这样用户就不必为每条记录单击 + 图标。

【问题讨论】:

    标签: c# wpf xamdatagrid


    【解决方案1】:

    您可以像这样处理 XamDataGrid 的 InitializeRecord 事件(或覆盖 OnInitializeRecord):

        void grid_InitializeRecord(object sender, Infragistics.Windows.DataPresenter.Events.InitializeRecordEventArgs e)
        {
            grid.ExecuteCommand(DataPresenterCommands.ToggleRecordIsExpanded, e.Record);
        }
    

    还有 DataPresenterCommands.ExpandRecord,用于扩展网格的 ActiveRecord。

    【讨论】:

      【解决方案2】:

      上述答案很好,但对于那些更愿意将其视为已定义行为的人来说,这是另一种看法:

      public class AutoExpandXamDataGridRecordBehavior : Behavior<XamDataGrid>
      {
          protected override void OnAttached()
          {
              if (AssociatedObject is XamDataGrid grid)
              {
                  grid.InitializeRecord += OnInitializeRecord;
              }
          }
      
      
          protected override void OnDetaching()
          {
              if (AssociatedObject is XamDataGrid grid)
              {
                  grid.InitializeRecord -= OnInitializeRecord;
              }
          }
      
      
          private void OnInitializeRecord(object sender, InitializeRecordEventArgs e)
          {
              ((XamDataGrid)sender).ExecuteCommand(DataPresenterCommands.ToggleRecordIsExpanded, e.Record);
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-05
        • 2020-12-15
        • 1970-01-01
        • 2021-11-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多