Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在窗口上绘制位图并更新它们';x';每秒次_C#_Wpf - Fatal编程技术网

C# 在窗口上绘制位图并更新它们';x';每秒次

C# 在窗口上绘制位图并更新它们';x';每秒次,c#,wpf,C#,Wpf,我是Wpf C编程新手,可能有个愚蠢的问题。 我有一个表单,我需要创建一些具有动态名称的控件。 (例如:网格:“主”控件:“str”+(int)i) 我需要设置这个控件的属性边距。 因此,Ik如何添加此控件,但在更改其属性时遇到一些问题 一些代码: Image img = new Image(); img.Source = new BitmapImage(new Uri("pack://application:,,,/Resources/img.png")); img.Name = "str_"

我是Wpf C编程新手,可能有个愚蠢的问题。 我有一个表单,我需要创建一些具有动态名称的控件。 (例如:网格:“主”控件:“str”+(int)i) 我需要设置这个控件的属性边距。 因此,Ik如何添加此控件,但在更改其属性时遇到一些问题

一些代码:

Image img = new Image();
img.Source = new BitmapImage(new Uri("pack://application:,,,/Resources/img.png"));
img.Name = "str_" + i;
img.Margin = new Thickness(-10,-10,0,0);
img.Width = 1;
img.Height = 2;
main.Children.Add(img);
// ToDo Something like this:
main["str_"+i].Margin = new Thickness(x,y,0,0);
所以,问题是:如何编辑已经创建的动态控件的属性


更新。 我发现除了刷新图形之外,创建大量控件是相当愚蠢的。

现在我不知道在表单上绘制位图的最佳方法是什么。 例如:

  • 我有位图的位置列表
  • 我需要更新文件 位图的位置每秒“x”次

看看下一个解决方案。下面是通过(控件的)名称引用现有控件属性的代码。它根据您在视图模型(或代码隐藏)中支持的属性集更改控件的属性集。如果您感兴趣,我可以进行调整以达到您的要求。这里是链接


关于,

如果您在类中保留对img(或其他ui元素)的引用,您可以稍后更改属性,就像在此处设置属性一样。或者你可以使用binding,你可以通过谷歌搜索或者使用搜索面板来了解:)你可以,请,添加一些例子吗?无法理解BIT如果您发布代码(或简化示例),我可以说得更具体一些,如果我理解正确,您目前唯一的问题是设置控件的属性,所以我想您已经准备好了其余的代码。我已经编辑了有问题的代码。抱歉,但我不清楚您的意图是什么。。。在提供的示例中,您只需创建一个图像并将其添加到main,我认为这是一些网格控件。。。没有看到任何计时器等。。。请解释你想做什么或发布更多的代码,以便能够猜到一些东西。。。