您应该真正考虑实现 MVVM 模式,在大多数情况下,您不需要引用任何按钮,因为它将是 ViewModel 的一部分,并且您可以循环访问要更改的集合。
然而,根据你的信息,你有类似这样的 3x3 的东西,每个东西都有按钮吗?
<Grid x:Name="myGrid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="33*"/>
<ColumnDefinition Width="33*"/>
<ColumnDefinition Width="33*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="33*"/>
<RowDefinition Height="33*"/>
<RowDefinition Height="33*"/>
</Grid.RowDefinitions>
<Button Content="1" Grid.Row="0" Grid.Column="0" ></Button>
<Button Content="2" Grid.Row="0" Grid.Column="1" ></Button>
<Button Content="3" Grid.Row="0" Grid.Column="2" ></Button>
<Button Content="4" Grid.Row="1" Grid.Column="0" ></Button>
<Button Content="5" Grid.Row="1" Grid.Column="1" ></Button>
<Button Content="6" Grid.Row="1" Grid.Column="2" ></Button>
<Button Content="7" Grid.Row="2" Grid.Column="0" ></Button>
<Button Content="8" Grid.Row="2" Grid.Column="1" ></Button>
<Button Content="9" Grid.Row="2" Grid.Column="2" ></Button>
</Grid>
Run Code Online (Sandbox Code Playgroud)
然后在后面的代码中foreach通过遍历 Grid 的子元素非常简单
foreach (Button b in this.myGrid.Children)
{
// do whatever you want with b
// b.Content = "I'm a button";
}
Run Code Online (Sandbox Code Playgroud)
您还可以为每个按钮添加特定标识符,甚至循环它们
foreach (Button b in this.myGrid.Children)
{
if(b.Tag == "main_buttons")
{
// do whatever you want with b when b.Tag is what you want
}
}
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
5979 次 |
| 最近记录: |