我可以通过名称查找控件并在单个命令中更改 属性 吗?

Can I find a control by name and change a property in a single command?

我们能否通过名称查找控件并使用 C# 中的单个命令更改 属性?我有这个:

TextBlock tb = mainGrid.FindName("FirstNameTextBlock") as TextBlock;
tb.Visibility = Visibility.Collapsed;

有没有办法只用一个命令就可以做到?这不起作用,但像这样:

(TextBlock)mainGrid.FindName("FirstNameTextBlock").Visibility = Visibility.Collapsed;

是的,有

((TextBlock)mainGrid.FindName("FirstNameTextBlock")).Visibility = Visibility.Collapsed;

您需要转换对象,然后修改属性。括号将解决这个问题。如果没有它们,它会假设 FindName returns 有一个 属性 Visibility 并且将被转换为 TextBlock.