2010-11-28 25 views
0

我有一個10x10的網格,裏面充滿了按鈕,文本框和圖像,每個網格只跨越它的單個單元格,它們不會混合在一起永遠不會,我想引用某個對象在單元格中並更改它的一個屬性,例如,更改單元格1,3(行,列)中按鈕的內容。引用一個包含在一個網格位置的對象

這裏是我的XAML的一個簡單的例子:

<Grid x:Name="Minas" Margin="-2,115,3,33" Width="450" Height="450" MaxHeight="450" MaxWidth="450" MinWidth="450" MinHeight="450" d:IsLocked="True"> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="10*"/> 
       <RowDefinition Height="10*"/> 
       <RowDefinition Height="10*"/> 
       <RowDefinition Height="10*"/> 
       <RowDefinition Height="10*"/> 
       <RowDefinition Height="10*"/> 
       <RowDefinition Height="10*"/> 
       <RowDefinition Height="10*"/> 
       <RowDefinition Height="10*"/> 
       <RowDefinition Height="10*"/> 
      </Grid.RowDefinitions> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="10*"/> 
       <ColumnDefinition Width="10*"/> 
       <ColumnDefinition Width="10*"/> 
       <ColumnDefinition Width="10*"/> 
       <ColumnDefinition Width="10*"/> 
       <ColumnDefinition Width="10*"/> 
       <ColumnDefinition Width="10*"/> 
       <ColumnDefinition Width="10*"/> 
       <ColumnDefinition Width="10*"/> 
       <ColumnDefinition Width="10*"/> 
      </Grid.ColumnDefinitions> 
      <Button Content="" Margin="-12,-12,0,-13" Width="69" HorizontalAlignment="Left" BorderThickness="2" Padding="0" Click="descubrirMina" Background="#00E53E3E" /> 
      <Button Content="" Margin="-12,-12,0,-13" Width="69" HorizontalAlignment="Left" BorderThickness="2" Background="{x:Null}" Padding="0" Grid.Column="1" Click="descubrirMina"/> 
      <Button Content="" Margin="-12,-12,0,-13" Width="69" HorizontalAlignment="Left" BorderThickness="2" Background="{x:Null}" Padding="0" Grid.Column="3" Click="descubrirMina"/> 
      <Button Content="" Margin="-12,-12,0,-13" Width="69" HorizontalAlignment="Left" BorderThickness="2" Background="{x:Null}" Padding="0" Grid.Column="2" Click="descubrirMina"/> 
      <Button Content="" Margin="-12,-12,0,-13" Width="69" HorizontalAlignment="Left" BorderThickness="2" Background="{x:Null}" Padding="0" Grid.Column="4" Click="descubrirMina"/> 
      <Button Content="" Margin="-12,-12,0,-13" Width="69" HorizontalAlignment="Left" BorderThickness="2" Background="{x:Null}" Padding="0" Grid.Column="5" Click="descubrirMina"/> 
      <Button Content="" Margin="-12,-12,0,-13" Width="69" HorizontalAlignment="Left" BorderThickness="2" Background="{x:Null}" Padding="0" Grid.Column="6" Click="descubrirMina"/> 
      <Button Content="" Margin="-12,-12,0,-13" Width="69" HorizontalAlignment="Left" BorderThickness="2" Background="{x:Null}" Padding="0" Grid.Column="8" Click="descubrirMina"/> 
      <Button Content="" Margin="-12,-12,0,-13" Width="69" HorizontalAlignment="Left" BorderThickness="2" Background="{x:Null}" Padding="0" Grid.Column="9" Click="descubrirMina"/> 
      <Button Content="" Margin="-12,-12,0,-13" Width="69" HorizontalAlignment="Left" BorderThickness="2" Background="{x:Null}" Padding="0" Grid.Column="7" Click="descubrirMina"/> 

THX。

+0

在這個例子中使用樣式按鈕是一個好主意。並且在代碼隱藏中創建按鈕將更具可擴展性。 – 2010-11-28 17:17:55

+0

我該怎麼做? o.0 – 2010-11-28 17:42:29

回答

0

我自己找到了答案,對於那些可能想知道如何解決此問題的人來說,只需使用需要列和行定義的XAML來解析網格,接下來我創建了一個從Button繼承的類,其中包含我需要的X和Y屬性,然後我創建了一個這個對象的數組,並以編程方式定義了我需要的屬性(大小,跨度等),並將它們定位於:myGrid.Children.Add(對象),然後簡單地更改我希望它們顯示的網格,所以無論何時我需要訪問或更改此「按鈕」的屬性時,我都會訪問我的數組,並且瞧!

0

給他們專名,然後你可以在代碼中引用他們。

startButtonIn1row3col.Content = "start"; 

順便說一句你不覺得10x10 Grid對手機屏幕來說不算太多嗎?

相關問題