c# - 从字符串名称访问网格中的标签
问题描述
我有一个循环,可以将标签添加到某些网格列和行。我将每个标签的名称设置为“label_x_y”,其中 x 和 y 是其各自的 X 和 Y 坐标。然后我需要通过名称“label_x_y”访问每个标签来设置它们的一些背景颜色 - 我该怎么做?
例如:
Label playSquare = new Label();
playSquare.Name = String.Format("playSquare_{0}_{1}", 25, 25);
playArea.Children.Add(playSquare);
playSquare_25_25.Background = new SolidColorBrush(Colors.Red);
解决方案
为什么不在将其添加到之前设置它的Grid.Column
和Grid.Row
附加属性?Label
Grid
Grid.SetColumn(playSquare, 25);
Grid.SetRow(playSquare, 25);
然后,您可以简单地使用这些属性Label
通过其在 中的位置来检索Grid
:
int x = 25;
int y = 25;
Label label = playArea.Children.OfType<Label>()
.FirstOrDefault(l => Grid.GetColumn(l) == x && Grid.GetRow(l) == y);
这是一个更好的解决方案,它试图识别Label
' 在Grid
使用其名称中的位置。
推荐阅读
- php - 我的 symfony 网站不工作 - 文件“config.yml”不存在
- javascript - 带有 highcharts 的全屏引导卡(100% 高度)
- python - Panda 的重采样 - Get Mean for a freq。一段的时间
- ios - ipatool 因异常而失败:#
当我使用内部版本号 24 转到我的项目的存档版本 2.1.4 时,该项目已成功存档,但是当我尝试导出它时
AdHoc !
出现以下错误:c# - 收到错误:“无法将类型'string'隐式转换为'int'”
- amp-html - 扩展“amp-mustache”在版本“0.1”中引用,这是一个已弃用的版本使用此扩展的更新版本
- javascript - 使用 dangerouslySetInnerHtml 渲染内容时如何使用 React 链接?
- javascript - Oracle JET - 我的 oj-list-view 不起作用
- c - 为什么我得到这个奇怪的输出?
- git - 在 VSTS 中禁用自动合并