2009-10-02 15 views

Respuesta

57

no hay un método integrado para esto, pero que fácilmente puede hacerlo buscando en la colección de niños:

myGrid.Children 
     .Cast<UIElement>() 
     .First(e => Grid.GetRow(e) == row && Grid.GetColumn(e) == column); 
+6

Aunque - Puede valer la pena devolver la colección completa, ya que, técnicamente, puede tener más de un elemento en una única "celda" de cuadrícula, ya que las propiedades adjuntas no lo comprueban. –

+0

Gracias. Ese es el enfoque que he estado siguiendo hasta ahora, iterando sobre cada niño en Children hasta que encuentre un control con matchin fila y columna, pero esperaba que hubiera algo más directo. – Mathias

+2

Gracias, Reed, buen punto: eso se puede lograr fácilmente usando Where en lugar de First. – itowlson

8

This answer le ayudará a

int rowIndex = Grid.GetRow(myButton); 

RowDefinition rowDef = myGrid.RowDefinitions[rowIndex]; 
+0

Gracias, pero no hace el trabajo porque no tengo una referencia a myButton! – Mathias

+0

Oh, lo entiendo. – Carlo

+0

Esto es exactamente lo que estaba buscando. Tenía una referencia al objeto, solo necesitaba averiguar en qué fila y columna estaba. Gracias, Carlo. – esteuart

0

La propiedad Niños del objeto de cuadrícula le dará una colección de todos los niños de la cuadrícula (de la clase Panel).

En cuanto a obtener las coordenadas en la cuadrícula, observe los métodos estáticos en la clase Grid (GetRow() & GetColumn()).

Espero que te lleve en la dirección correcta.

0

Sistema :: Windows :: Controles :: Grid^myGrid = nullptr; Sistema :: Windows :: Controles :: UserControl^pUserControl = nullptr;

myGrid = m_DlgOwnedObjAdmin->GrdProperties; 
if (myGrid->Children->Count > 0) 
{ 
    pUserControl = (System::Windows::Controls::UserControl^)myGrid->Children->default[0]; 
    if (pUserControl != nullptr) 
    { 
     if (bValue == true) 
      pUserControl->Visibility = System::Windows::Visibility::Visible; 
     else 
      pUserControl->Visibility = System::Windows::Visibility::Collapsed; 
    } 
} 
Cuestiones relacionadas