当应用程序正在执行某些任务时,Wpf 控件不可见,它在任务完成后出现

Posted

技术标签:

【中文标题】当应用程序正在执行某些任务时,Wpf 控件不可见,它在任务完成后出现【英文标题】:Wpf control is not visible when application is doing some task, it is apperaring after the task is completed 【发布时间】:2016-10-15 15:31:40 【问题描述】:

我正在开发 winform 应用程序,我的应用程序的一个屏幕我正在使用 wpf 用户控件。我正在通过绑定设置该 WPF 用户控件的可见性。 我的应用程序中没有线程,我希望一旦设置了用户控件的可见性,它就应该在 UI 中生效,但不会像那样发生。

屏幕完全加载后,我可以看到我的 WPF 用户控件。

嗨,

我正在开发 winform 应用程序,我的应用程序的一个屏幕我正在使用 wpf 用户控件。我正在通过绑定设置该 WPF 用户控件的可见性。 我的应用程序中没有线程,我希望一旦设置了用户控件的可见性,它就应该在 UI 中生效,但不会像那样发生。

屏幕完全加载后,我可以看到我的 WPF 用户控件。

我的代码有点像这样

void Dosomething()

IsUserControlEnabled=true;//here the UI should reflect but not happening

//some time taking code assume 4-8 sec

IsUserControlEnabled=false;



What I have tried:

void Dosomething()

IsUserControlEnabled=true;//here the UI should reflect but not happening

//some time taking code assume 4-8 sec

// if aim not setting IsUserControlEnabled=false then i am able to see in my UI but i want that in this method only it should appear an disappear


我假设我的问题与以下链接有关 my problem is somewhat releated to this link

【问题讨论】:

【参考方案1】:

确保您绑定到的类正在实现 INotifyPropertyChanged,并且您在 IsUserControlEnabled 属性的 get 访问器中引发了 PropertyChanged 事件。您的 UserControl 侦听 PropertyChanged 事件,以了解何时更新控件的可视属性,如果没有得到它们,它就不会知道更新自己。

【讨论】:

以上是关于当应用程序正在执行某些任务时,Wpf 控件不可见,它在任务完成后出现的主要内容,如果未能解决你的问题,请参考以下文章

控件不适合调整 WPF 的大小

覆盖 2 个控件并使用 WPF 切换哪一个可见

保存为PDF时,WPF DataGrid GridLines不可见

WPF:确定面板是不是对用户可见

当鼠标悬停在 DIV 上时,如何使某些控件可见并与 DIV 重叠? [关闭]

裁剪 WPF 控件