2010-11-28 24 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对手机屏幕来说不算太多吗?

相关问题