2009-10-02 34 views

Trả lời

57

Không có một phương pháp tích hợp cho điều này, nhưng bạn có thể dễ dàng làm điều đó bằng cách nhìn vào bộ sưu tập trẻ em:

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

Mặc dù - Nó có thể đáng để trả lại bộ sưu tập đầy đủ, vì về mặt kỹ thuật, bạn có thể có nhiều hơn một phần tử trong một ô "ô" duy nhất, vì thuộc tính được đính kèm hte không kiểm tra điều đó. –

+0

Cảm ơn bạn. Đó là cách tiếp cận mà tôi đã theo dõi cho đến nay, lặp đi lặp lại trên mọi trẻ em ở Trẻ em cho đến khi tôi tìm thấy một điều khiển với hàng và cột matchin, nhưng tôi mong đợi sẽ có điều gì đó trực tiếp hơn. – Mathias

+2

Cảm ơn, Reed, điểm tốt - có thể dễ dàng thực hiện bằng cách sử dụng Vị trí thay vì Đầu tiên. – itowlson

8

This answer sẽ giúp bạn

int rowIndex = Grid.GetRow(myButton); 

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

Cảm ơn, nhưng nó không thực hiện công việc vì tôi không có tham chiếu đến myButton! – Mathias

+0

Ồ tôi hiểu rồi. – Carlo

+0

Đây chính xác là những gì tôi đang tìm kiếm. Tôi đã có một tham chiếu đến các đối tượng, tôi chỉ cần tìm ra hàng và col nó được in Cảm ơn, Carlo. – esteuart

0

Thuộc tính cho trẻ em của đối tượng lưới sẽ cung cấp cho bạn một bộ sưu tập của tất cả các con của Grid (từ lớp Panel).

Theo như nhận được tọa độ trong lưới, hãy xem các phương pháp tĩnh trong lớp Lưới (GetRow() & GetColumn()).

Hy vọng rằng bạn sẽ đi đúng hướng.

0

Hệ thống :: Windows :: Điều khiển :: Lưới^myGrid = nullptr; Hệ thống :: Windows :: Điều khiển :: 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; 
    } 
} 
Các vấn đề liên quan