WPF,c#,按名称引用特定的 UI 元素

WPF, c#, reference a specific UI element by its name

我有一个应用程序,我需要在多个菜单之间切换。我这样做的方法是(正如我之前在 Unity 中所做的那样)将每个菜单的所有元素分组到一个 Canvas GUI 元素中,并使用代码设置哪些可见,哪些不可见。我只是不确定如何在 Visual Studio.

的代码中引用 canvas 本身(或其他代码,因为我需要多个,但我现在从一个开始)

我找到的唯一'solution'(报错):

object mainCanvas = Canvas.Findname("Main_Menu");

对于基于XAML的UI,这样做的方法是为Canvas分配一个名称,然后在code-behind中可以访问它。

<Canvas x:Name="myCanvas"/>

然后在后面的代码中

void SomeEvent(object sender, RoutedEventArgs e)
{
    myCanvas...//Do whatever you were going to do with the canvas.
}