【问题标题】:How do I make a for loop that increase the end of my WPF image name?如何创建一个增加 WPF 图像名称末尾的 for 循环?
【发布时间】:2015-01-13 13:42:27
【问题描述】:

我只想让我的一些图像可见,具体取决于值。

当您在文本框中输入数字时,例如。 10 我想要 10 张图片可见。

这是我的一些代码来说明我的意思:

具有给定名称的图像之一:

<Image x:Name="Image_Number1" Source="{StaticResource ImageNo2}" Visibility="Collapsed" />

当给出文本框的内容时,我的 for 循环(这是我想知道的部分,类似于):

for (int i = 0; i < TextboxContent; i++)
{
     Image_Number(TextboxContent).Visibility = Visibility.Visible;
}

当然是 Image_Number(TextboxContent).Visibility = Visibility.Visible;无法编译。

我想让它以将 TextboxContent 添加到图像名称末尾的方式进行编译。
如果我的文本框的值为 10,它将 Image_Number1,2,3...10 的可见性设置为可见。
什么是解决这个问题的好方法? 欢迎任何建议,谢谢。

【问题讨论】:

    标签: c# wpf loops for-loop visibility


    【解决方案1】:

    您可以使用FindName 方法:

    for (int i = 1; i <= TextboxContent; i++) {
     var img = FindName("Image_Number" + i) as FrameworkElement;
     if(img != null) img.Visibility = Visibility.Visible;
    }
    

    【讨论】:

    • 注意:for (int i = 1; i &lt;= TextboxContent; i++) 如果执行 1 到 10 而不是 0 到 9。
    • @JohnLBevan 你是什么意思?主要思想不是 for 循环,重要的是使用 FindName 方法。 OP 应该了解 TextBoxContent 应该是什么。此外,我可以看到 OP 的代码中有一个名称 Image_Number0,但就在其下方,他说的是 Image_Number1,2,3...10,所以看起来他只是错误地陈述了一些东西,但重要的是再次使用 FindName。跨度>
    • @JohnLBevan 他编辑了他的代码,但是 for 循环仍然是一样的。无论如何据我了解,主要OP的问题不是for循环,我相信他知道如何处理它。
    • 谢谢!完美解决我的问题。你让我很开心:)
    • @JohanHarboe 好吧,不客气。请尽可能接受答案:)
    猜你喜欢
    • 2021-07-25
    • 1970-01-01
    • 2021-01-23
    • 1970-01-01
    • 2014-12-12
    • 2015-04-23
    • 2020-01-08
    • 2016-04-14
    • 1970-01-01
    相关资源
    最近更新 更多