ウィンドウをリサイズWPFネストされたサブウインドウを解決する際にフリッカー問題

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/WPwalter/article/details/102775135

Win32のウィンドウハンドルがプロセスを通過しているので、プロセス間UIを実現するために使用することができます。しかし、この記事では、特定のクロスプロセスUIについて話すことはありませんのみ重要と実装の容易さ、道子ウィンドウの使用に言及します。

あなたは、子ウィンドウの後に使用することができ、子ウィンドウの内容が点滅したときにドラッグがウィンドウのサイズを変更しました。あなたはこのような問題が発生した場合には、単に解決するために、この記事を読んで。


この記事で

問題

あなたは、以下のこのダイナミックな数字を見て、ウィンドウの点滅を感じることができます。

ウィンドウの点滅

実際には、ウィンドウをドラッグしたとき、それはフラッシュに常にあるが、各フラッシュは、GIF遮断時にカット未満、非常に高速です。

あなたが実際にプロジェクトを参照するには、レースを実行する場合は、次のコードを使用することができます。

あなたは試してみたい場合、私はあなたが使用することはできません、提出を抽出されたコードを見てきましたmasterので、枝をmaster分岐修正が問題をちらつきます。

後で使用するCreateWindowEx純粋なWin32のウィンドウを作成するには、このちらつきは撃たれる可能性が高いです。

Win32のウィンドウの点滅
Win32のウィンドウの点滅 - 可動式図。

解きます

    public class HwndWrapper : HwndHost
    {
        protected override HandleRef BuildWindowCore(HandleRef hwndParent)
        {
            const int WS_CHILD = 0x40000000;
++          const int WS_CLIPCHILDREN = 0x02000000;
            var owner = ((HwndSource)PresentationSource.FromVisual(this)).Handle;

            var parameters = new HwndSourceParameters("demo")
            {
                ParentWindow = owner,
--              WindowStyle = (int)(WS_CHILD),
++              WindowStyle = (int)(WS_CHILD | WS_CLIPCHILDREN),
            };
            var source = new HwndSource(parameters);
            source.RootVisual = new ChildPage();
            return new HandleRef(this, source.Handle);
        }

        protected override void DestroyWindowCore(HandleRef hwnd)
        {
        }
    }

理由

我々は模索している......


参考資料


私のブログはで開始されhttps://blog.walterlv.com/、および特色CSDNから解放されますが、それはめったに一度放出されない更新されます。

あなたが任意のブログの内容を理解していない表示された場合は、共有してください。私が建てDOTNET職業技術学院が参加することを歓迎します。

クリエイティブコモンズライセンス

この作品は、ある非営利- -同一条件許諾4.0の国際ライセンス契約クリエイティブ・コモンズのライセンスのために。:、、使用を転載再投稿、しかし陸毅(リンク含むが署名した文書保管してくださいへようこそhttps://walterlv.blog.csdn.net/を、商業目的のために使用してはならない、記事に基づいて作業が同じライセンスを変更してください)リリース。ご質問があれば、してください私に連絡

おすすめ

転載: blog.csdn.net/WPwalter/article/details/102775135