コード例 #1
0
 public UpdateMeasureRequiredEventArgs( UpdateMeasureTriggeredAction action, object parameters )
   : this( action )
 {
   this.Parameters = parameters;
 }
コード例 #2
0
 public UpdateMeasureRequiredEventArgs( UpdateMeasureTriggeredAction action )
 {
   this.TriggeredAction = action;
 }
コード例 #3
0
 public UpdateMeasureRequiredEventArgs(UpdateMeasureTriggeredAction action)
 {
     this.TriggeredAction = action;
 }
コード例 #4
0
 public UpdateMeasureRequiredEventArgs(UpdateMeasureTriggeredAction action, object parameters)
     : this( action )
 {
     this.Parameters = parameters;
 }
コード例 #5
0
    private void UpdateChildren( UpdateMeasureTriggeredAction action )
    {
      Row parentRow = this.ParentRow;

      // A CurrentItemChanged was received for a non current Row
      if( ( action == UpdateMeasureTriggeredAction.CurrentItemChanged ) && ( parentRow != null ) && ( !parentRow.IsCurrent ) )
        return;

      DataGridContext dataGridContext = this.DataGridContext;

      Debug.Assert( dataGridContext != null, "Should not be called when a container is not prepared" );

      // If the parent Row is not prepared, do not update children
      if( dataGridContext == null )
        return;

      bool currentItemChangedOnCurrentRow = ( action == UpdateMeasureTriggeredAction.CurrentItemChanged ) && ( parentRow != null ) && ( parentRow.IsCurrent );
      var columnVirtualizationManager = this.ColumnVirtualizationManager;

      if( ( m_lastColumnVirtualizationManagerVersion != columnVirtualizationManager.Version ) || ( currentItemChangedOnCurrentRow )
            || ( m_virtualizingCellCollectionChangedDispatcherOperation != null ) )
      {
        this.UpdateChildren( dataGridContext, columnVirtualizationManager, this.ParentRowCells );

        m_lastColumnVirtualizationManagerVersion = columnVirtualizationManager.Version;

        this.InvalidateMeasure();

        m_virtualizingCellCollectionChangedDispatcherOperation = null;
      }
    }