none
使用BitmapCache休眠醒来后黑屏,如何处理? RRS feed

  • 问题

  • 为提高性能,在xaml中增加了如下设置:

    <UserControl.CacheMode>
            <BitmapCache EnableClearType="true" RenderAtScale="1"/>
        </UserControl.CacheMode>

    操作系统休眠醒来后,软件界面一片黑,有什么解决的方法么?

    2014年7月28日 7:44

答案

  • 你好,

    >>操作系统休眠醒来后,软件界面一片黑,有什么解决的方法么?

    根据你说的问题,我这边简单地做了个测试,Win8.1上面休眠再恢复,没有发现你提到的这个问题。

    请问你的Usercontrol中有哪些控件,是否有大量的图形或者3D动作。

    如果这个问题一直存在,你可以尝试处理SystemEvents.PowerModeChanged事件,当检测到休眠后回复后,刷新UserControl:

    using Microsoft.Win32;
    ......
    public MainWindow()
    {
                InitializeComponent();
                SystemEvents.PowerModeChanged += OnPowerChange;
    }
    
    private void OnPowerChange(object sender, PowerModeChangedEventArgs e)
    {
                switch(e.Mode)
                {
                    case PowerModes.Resume: 
                        uc.UpdateLayout(); //update all visual child elements for layout.
                        break;
                    case PowerModes.Suspend: 
                        break;
                }
    }


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年7月29日 8:33
    版主