簡體   English   中英

Windows Phone使用網格

[英]Windows Phone using Grid

我有一個7行7列的網格。 我想動態地在每個單元格中放入一個控件。

要添加控件,我使用此代碼

Rectangle newRectangle = new Rectangle();

newRectangle.Tap += new EventHandler<GestureEventArgs>(Rectangle_KeyDown);
newRectangle.Fill = HighlightColor;

Grid.SetColumn(newRectangle, i);
Grid.SetRow(newRectangle, ii);

grid1.Children.Add(newRectangle);

如何從位置x,y獲得其中一個控件?

我覺得有點像

Grid.GetColumn( ?? );
Grid.GetRow( ?? );

但我不知道如何繼續。

我真的希望有人可以幫助我。

沒有內置功能,所以你應該手動進行搜索。 但是你可以輕松地用Linq編寫這樣的搜索功能:

var rectangleAtXy = grid.Children.OfType<Rectangle>()
    .SingleOrDefault(c => Grid.GetColumn(c) == x && Grid.GetRow(c) == y);

這沒有任何功能。 您必須閱讀網格子項的附加屬性RowColumn ,以確定它們所在的單元格。

我不確定你想要在那里完成什么,但我可能會建議一種可能對你有用的不同的,更清潔的方法。

它涉及使用帶有UniformGrid的ListBox作為ItemsPanelTemplate。 然后,您將創建一個Collection並將其設置為此List的ItemsSource。 現在,您可以使用從二維透視圖(col,row)到單個維度列表(列表)的簡單轉換,使用控件填充列表。 現在,設置和檢索控件就像轉換一樣簡單。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM