如何设置WPF中另一个类的元素的可见性?

托比·奥比

我有一个额外的课的小程序。Main线程中,我启动了另一个线程,该线程启动了该类中的方法。现在,我将从类中设置标签的可见性。我试图这样做:

MainWindow main = new MainWindow();
...
main.lable.Visibility = Visibility.Visible;

该程序给我的错误是线程必须是STA-Thread

我怎样才能做到这一点?谢谢!

维克

修改UI的线程必须是STA thread而且它必须有一个消息循环,所以我们正在谈论您的应用程序主线程您可以在此处阅读有关WPF线程的更多信息

关键是您必须使用Dispatcher.BeginInvoke方法

为了解决您的问题,假设它lable是公共的,请在辅助线程中尝试使用以下代码:

main.Dispatcher.BeginInvoke(
    DispatcherPriority.Normal, 
    new Action(() => main.lable.Visibility = Visibility.Visible));

希望对您有所帮助。

编辑

我用一个关于从辅助线程更新UI的简单示例来编辑我的答案:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();

        Task task = new Task(new Action(() => ExecuteOnSeparateThread()));
        task.Start();
    }

    private void ExecuteOnSeparateThread()
    {
        Thread.Sleep(2000);

        this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, 
            new Action(() => Label.Foreground = Brushes.Red));
    }
}

我不知道您的完整代码,因此我只能通过提供一个可以引导您走正确道路的示例来帮助您。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WPF根据另一个元素设置DataGridTextColumn可见性

来自分类Dev

在另一个元素的悬停事件上设置元素可见性

来自分类Dev

如何将可见性从另一个类设置为属于活动的 textview 和 imageview?

来自分类Dev

检查哪个元素鼠标结束以控制另一个div的可见性

来自分类Dev

从另一个类更改 JFrame 的可见性

来自分类Dev

CSS-悬停一个元素,更改另一个元素的可见性

来自分类Dev

根据另一个div或元素的存在来更改一个DIV的可见性

来自分类Dev

根据另一个视图的可见性隐藏一个视图

来自分类Dev

如何从另一个 WinForm C# 更改控制器的可见性

来自分类Dev

Inform7 中另一个人的全局可见性?

来自分类Dev

如何通过使用 jquery 将鼠标悬停在另一个 html 元素上来更改另一个 html 元素的可见性/不透明度?

来自分类Dev

另一个未更新的MVVM可见性属性

来自分类Dev

根据另一个组件的状态更改React组件可见性

来自分类Dev

另一个未更新的MVVM可见性属性

来自分类Dev

子类成员变量对另一个子类的可见性

来自分类Dev

Kentico 10 基于另一个 webpart 控制 webpart 的可见性

来自分类Dev

如何在WPF中设置ProgessBar的可见性?

来自分类Dev

为一个元素设置初始可见性和设置动画可见性之间是否存在冲突?

来自分类Dev

切换可见性(来自2个DIV;如果可见1个DIV,则另一个不应该,反之亦然)

来自分类Dev

如何设置一个班级从另一个可见?

来自分类Dev

Android相对布局-根据另一个小部件的可见性对齐小部件父级

来自分类Dev

在SSRS 2008中用另一个文本框切换的行的条件可见性

来自分类Dev

滚动到另一个元素时如何使我的元素可见?

来自分类Dev

在使用javascript随机调用函数时,如何确保至少一个元素的可见性?

来自分类Dev

单击复选框时如何设置另一个可见的项目?

来自分类Dev

ProtoBuffer通过gradle生成的类在IntelliJ的另一个模块中不可见

来自分类Dev

将内部群组的可见性设置为false后,如何在swt中中继出一个对话框

来自分类Dev

在淘汰赛中根据另一个元素的值使一个元素可见

来自分类Dev

变量在另一个块中也可见

Related 相关文章

  1. 1

    WPF根据另一个元素设置DataGridTextColumn可见性

  2. 2

    在另一个元素的悬停事件上设置元素可见性

  3. 3

    如何将可见性从另一个类设置为属于活动的 textview 和 imageview?

  4. 4

    检查哪个元素鼠标结束以控制另一个div的可见性

  5. 5

    从另一个类更改 JFrame 的可见性

  6. 6

    CSS-悬停一个元素,更改另一个元素的可见性

  7. 7

    根据另一个div或元素的存在来更改一个DIV的可见性

  8. 8

    根据另一个视图的可见性隐藏一个视图

  9. 9

    如何从另一个 WinForm C# 更改控制器的可见性

  10. 10

    Inform7 中另一个人的全局可见性?

  11. 11

    如何通过使用 jquery 将鼠标悬停在另一个 html 元素上来更改另一个 html 元素的可见性/不透明度?

  12. 12

    另一个未更新的MVVM可见性属性

  13. 13

    根据另一个组件的状态更改React组件可见性

  14. 14

    另一个未更新的MVVM可见性属性

  15. 15

    子类成员变量对另一个子类的可见性

  16. 16

    Kentico 10 基于另一个 webpart 控制 webpart 的可见性

  17. 17

    如何在WPF中设置ProgessBar的可见性?

  18. 18

    为一个元素设置初始可见性和设置动画可见性之间是否存在冲突?

  19. 19

    切换可见性(来自2个DIV;如果可见1个DIV,则另一个不应该,反之亦然)

  20. 20

    如何设置一个班级从另一个可见?

  21. 21

    Android相对布局-根据另一个小部件的可见性对齐小部件父级

  22. 22

    在SSRS 2008中用另一个文本框切换的行的条件可见性

  23. 23

    滚动到另一个元素时如何使我的元素可见?

  24. 24

    在使用javascript随机调用函数时,如何确保至少一个元素的可见性?

  25. 25

    单击复选框时如何设置另一个可见的项目?

  26. 26

    ProtoBuffer通过gradle生成的类在IntelliJ的另一个模块中不可见

  27. 27

    将内部群组的可见性设置为false后,如何在swt中中继出一个对话框

  28. 28

    在淘汰赛中根据另一个元素的值使一个元素可见

  29. 29

    变量在另一个块中也可见

热门标签

归档