gpt4 book ai didi

c# - WPF : Dynamically create a grid with specified x rows and y columns with static image in each cell

转载 作者:太空狗 更新时间:2023-10-29 21:54:19 26 4
gpt4 key购买 nike

问题:我是 WPF 的新手,我无法弄清楚这一点。我如何创建具有 x 行和 y 列的网格并在运行时将图像插入每个单元格?

场景:我有一个库存项目,最终用户将在其中搜索一个项目,应用程序将指定他可以在哪里找到该项目。现在我已经在检索保存元素的橱柜详细信息,这些元素再次具有 x 行和 y 列的机架。显示的机架可以有不同的行或列大小。参见图像。

方法:所以我发现我应该有一个 x 行和 y 列的网格(只在运行时知道)。为每个单元格值填充图像。将不同的图像插入项目的位置或突出显示该单元格值。但我无法找到如何做到这一点。我的大部分搜索都指向动态添加行和列。我是否漏掉了一些非常明显的东西?

预期输出:下面给出了我希望它如何显示给我的最终用户: Preview

最佳答案

就像我说的,我一直想知道在我们拥有静态数据的情况下是否需要使用数据网格。所以这就是我想出的。我创建了一个堆栈面板并添加了 y 个图像。现在我添加 x 个这样的堆栈面板。如果出现图像的确切位置,我会添加突出显示的图像。工作完美。为任何想要重用代码的人共享代码。

private void CreateGraphicalDisplay(int rows,int columns,int row,int column)
{
ClearGraphicPanel();
for (int i = 1; i <= rows; i++)
{

StackPanel childstack = new StackPanel();


for (int j = 1; j <= columns; j++)
{
Image gage = new Image();
gage.Stretch = Stretch.Fill;

if (i == row && j == column)
{
gage.Source = new BitmapImage(new Uri(@Highlightedimage));
}
else
{
gage.Source = new BitmapImage(new Uri(@NormalImage));
}
gage.Width = 12;
gage.Height =12;
gage.HorizontalAlignment = HorizontalAlignment.Left;
gage.Margin = new Thickness(10, 1, 1, 1);

childstack.Children.Add(gage);
}

containerstack.Children.Add(childstack);
}

}

关于c# - WPF : Dynamically create a grid with specified x rows and y columns with static image in each cell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20115742/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com