使用c#中的可见性(variable.visibility)连接变量

时间:2016-12-10 12:07:54

标签: c# uwp

首先,我想为这个奇怪的标题道歉,因为我不知道该怎么称呼我想达到的目标。但我有一个网格元素test1,我想折叠(隐藏),但不是键入test1它是一个名为IDElement的变量。但是如何将IDElement与可见性相关联?

 private void Collapse_Click(object sender, RoutedEventArgs e)
    {
        var button = sender as Button;
        var ID = button.Tag;

        string IDElement = "Test" + ID;

        Test1.Visibility = Visibility.Collapsed;
        IDElement.Visibility = Visibility.Collapsed; // should have the same result as Test1.visibility
    }

1 个答案:

答案 0 :(得分:2)

如果我理解正确,你有一堆硬编码的网格元素,每个元素都有一个“折叠”按钮,你想为所有按钮编写一个点击处理程序,这将隐藏相关的网格。

您可以使用FindName方法获取具有特定名称的元素的引用,如下所示:

var el = FindName("Test" + ID) as UIElement;
if (el != null)
{
    el.Visibility = Visibility.Collapsed;
}

但我不一定会建议你采用这种方法。