首先,我想为这个奇怪的标题道歉,因为我不知道该怎么称呼我想达到的目标。但我有一个网格元素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
}
答案 0 :(得分:2)
如果我理解正确,你有一堆硬编码的网格元素,每个元素都有一个“折叠”按钮,你想为所有按钮编写一个点击处理程序,这将隐藏相关的网格。
您可以使用FindName
方法获取具有特定名称的元素的引用,如下所示:
var el = FindName("Test" + ID) as UIElement;
if (el != null)
{
el.Visibility = Visibility.Collapsed;
}
但我不一定会建议你采用这种方法。