引用网格位置中包含的对象

时间:2010-11-28 17:00:29

标签: c# windows-phone-7

我有一个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。

2 个答案:

答案 0 :(得分:0)

给他们正确的名字,然后你可以在代码中引用它们。

startButtonIn1row3col.Content = "start";
你不觉得10x10网格对手机屏幕来说不算太多吗?

答案 1 :(得分:0)

我自己找到了答案,因为那些想知道我如何解决这个问题的人只是用XAML对需要列和行定义的网格进行处理,然后我创建了一个继承自Button的包含X的类和我需要的Y属性,然后我只是创建了一个这个对象的数组,并以编程方式定义了我需要的属性(大小,跨度等),并将它们定位于:myGrid.Children.Add(对象),然后简单地更改了网格我希望它们显示,所以每当我需要访问或更改这个“按钮”的属性时,我只是访问了我的数组而且瞧!