以编程方式使元素可见

3

我知道这个问题已经被问了很多次,但是没有一个对我有效。我收到了错误信息“非静态字段、方法或属性“...Question1Text”需要对象引用”。我已经阅读过这意味着我正在尝试使用类型名称而不是其实例的建议,但我找到的解决方法是在xaml中设置“Name”,而我已经这样做了。我在我的xaml中有以下代码:

<TextBlock x:Name="Question1Text" Text="blahblahblah" FontSize="30" Visibility="Hidden"/>

我想以编程方式更改可见性,并尝试执行以下操作:
Question1Text.Visibility = Visibility.Visible;

我还尝试对其他元素进行相同操作,比如按钮,但好像无法正常工作。非常感谢任何帮助,谢谢。:)

编辑:

这里是代码位置:

    public CooperationGame()
    {
        InitializeComponent();
        Loaded += OnLoaded;

        int question = 0;
        Question1();
    }

    private static void Question1()
    {
        Question1Text.Visibility = Visibility.Visible;
        Button1.Visibility = Visibility.Visible;
    }

当调用该类(窗口打开时)时,它基本上变得可见。然后,当单击Button1时,会触发一个事件,隐藏这两个元素并显示其他文本框和按钮。


你能粘贴一下设置可见性为visible的代码吗? - Joffrey Kern
1
你把代码放在哪里?因为你那里的这两行代码看起来很匹配... - Tim
好的,看了下面的答案,我刚刚去掉了"static"这个单词,然后它就起作用了。这是个愚蠢的错误,因为我没有足够理解所有小细节,我想我需要去读一下"static"的相关知识。 - GeneralAsh
1个回答

4

当您尝试将该代码放入静态方法中时,会生成您提到的错误。您无法从静态方法访问实例成员。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接