嗨我遇到類似的問題Question。WPF ElementHost無法繪製雙緩衝啓用
對我來說有什麼不同,我在我的WinForms-MainForm中使用「CreateParams-Method」來強制doublebuffering。代碼,這是(以下如DataGridView draws wrong):
protected override CreateParams CreateParams
{
get
{
// Activate double buffering at the form level. All child controls will be double buffered as well.
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x02000000; // WS_EX_COMPOSITED
return cp;
}
}
我的問題是,現在,只要這的CreateParams被激活,當有鼠標懸停我的WPF的ElementHost的在一個WinForms,用戶控件的內容只繪製事件。
簡短說明:UserControl「打開」但它是透明的。在我用鼠標移過去之後,例如ComboBoxes被繪製。
只要我註釋掉CreateParams,一切正常(使用WPF-ElementHost)。是否有可能停用/使用WPFElementHost的不同的CreateParams?
你有沒有解決這個問題?我遇到了同樣的問題。 –
@TormodFjeldskår:Nej。我從來沒有找到解決這個問題的方法。我剛剛爲整個應用程序註釋了CreateParams-Section。你是否? – basti
不,不幸的不是。從表單中刪除CreateParams代碼,並將其添加到僅用於不承載WPF控件的屏幕上。 –