本文整理汇总了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 );
}
}
示例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 );
}
}
示例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 );
}
}
示例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;
}