当前位置: 首页>>代码示例>>C#>>正文


C# DataGridContext.GetContainerFromItem方法代码示例

本文整理汇总了C#中DataGridContext.GetContainerFromItem方法的典型用法代码示例。如果您正苦于以下问题:C# DataGridContext.GetContainerFromItem方法的具体用法?C# DataGridContext.GetContainerFromItem怎么用?C# DataGridContext.GetContainerFromItem使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在DataGridContext的用法示例。


在下文中一共展示了DataGridContext.GetContainerFromItem方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CancelEditHelper

    internal static void CancelEditHelper( DataGridContext dataGridContext )
    {
      DataGridControl dataGridControl = dataGridContext.DataGridControl;

      if( !dataGridControl.IsBeingEdited )
        return;

      if( !dataGridContext.IsCurrent )
        throw new InvalidOperationException( "An attempt was made to call the CancelEdit method on a DataGridContext that is not current." );

      DependencyObject container = dataGridContext.GetContainerFromItem( dataGridControl.m_currentItemInEdition );

      //if the item is realized, then I could call the CancelEdit() directly on the container.
      if( container != null )
      {
        Row row = Row.FromContainer( container );

        if( row != null )
          row.CancelEdit();

        //not a row, then not editable.
      }
      //if the container is not realized, then I need to clear the parameters that indicate that the row is being edited.
      else
      {
        dataGridControl.UpdateCurrentRowInEditionCellStates( null, null );
      }
    }
开发者ID:wangws556,项目名称:duoduo-chat,代码行数:28,代码来源:DataGridControl.cs

示例2: BeginEditHelper

    internal static void BeginEditHelper( DataGridContext dataGridContext, object item )
    {
      DataGridControl dataGridControl = dataGridContext.DataGridControl;

      if( dataGridControl.IsBeingEdited )
        return;

      if( item == null )
        return;

      if( !dataGridContext.IsContainingItem( item ) )
        throw new InvalidOperationException( "An attempt was made to call the BeginEdit method of an item that is not part of the specified context." );

      DependencyObject container = dataGridContext.GetContainerFromItem( item );

      //if the item is realized, then I could call the BeginEdit() directly on the container.
      if( container != null )
      {
        Row row = Row.FromContainer( container );

        if( row != null )
          row.BeginEdit();

        //not a row, then not editable.
      }
      //if the container is not realized, then I need to set things up so that when the container is realized, it's gonna resume edition.
      else
      {
        dataGridContext.DataGridControl.UpdateCurrentRowInEditionCellStates( null, item );
        dataGridContext.DataGridControl.BringItemIntoView( item );
      }
    }
开发者ID:wangws556,项目名称:duoduo-chat,代码行数:32,代码来源:DataGridControl.cs

示例3: EndEditHelper

    internal static void EndEditHelper( DataGridContext dataGridContext )
    {
      DataGridControl dataGridControl = dataGridContext.DataGridControl;

      if( !dataGridControl.IsBeingEdited )
        return;

      if( !dataGridContext.IsContainingItem( dataGridContext.DataGridControl.CurrentItemInEdition ) )
        throw new InvalidOperationException( "An attempt was made to call the EndEdit method of an item that is not part of the specified context." );

      DependencyObject container = dataGridContext.GetContainerFromItem( dataGridControl.m_currentItemInEdition );

      //if the item is realized, then I could call the EndEdit() directly on the container.
      if( container != null )
      {
        Row row = Row.FromContainer( container );

        if( row != null )
          row.EndEdit();

        //not a row, then not editable.
      }
      //if the container is not realized, then I need to set things up so that when the container is realized, it's gonna resume edition.
      else
      {
        DataGridControl.ProcessUnrealizedEndEdit( dataGridContext );
      }
    }
开发者ID:wangws556,项目名称:duoduo-chat,代码行数:28,代码来源:DataGridControl.cs

示例4: BringItemIntoViewHelper

    internal bool BringItemIntoViewHelper( DataGridContext dataGridContext, object item )
    {
      FrameworkElement itemsHost = this.ItemsHost;

      //this is a protection in case the Template is incomplete or not realized yet.
      if( itemsHost == null )
        return false;

      // It is possible that a BringIntoView was queued before an operation that will
      // detach the ItemsHost of the DataGridControl and we want to avoid to call 
      // ICustomVirtualizingPanel.BringIntoView in this situation.
      DataGridContext itemsHostDataGridContext = DataGridControl.GetDataGridContext( itemsHost );

      if( itemsHostDataGridContext == null )
      {
        return false;
      }

      FrameworkElement container = dataGridContext.GetContainerFromItem( item ) as FrameworkElement;

      //if a container exists, call bring into view on it!
      if( container != null )
      {
        container.BringIntoView();

        //flag the function as being successful
        return true;
      }

      // The container does not exist, it is not yet realized.

      // If we are not virtualizing any items, return.
      // The call to SetFocusHelper when the BringIntoView completes will call a FrameworkElement BringIntoView
      // which will cause the ScrollViewer to bring the item into view approprietly.
      if( ( this.ScrollViewer != null ) && ( !this.ScrollViewer.CanContentScroll ) )
        return false;

      ICustomVirtualizingPanel customPanel = itemsHost as ICustomVirtualizingPanel;

      if( customPanel == null )
        return false;


      int index = this.GetGlobalGeneratorIndexFromItem( null, item );

      if( index != -1 )
      {
        //call the special function to bring an index into view.
        customPanel.BringIntoView( index );
        return true;
      }

      return false;
    }
开发者ID:wangws556,项目名称:duoduo-chat,代码行数:54,代码来源:DataGridControl.cs


注:本文中的DataGridContext.GetContainerFromItem方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。