Проблема WPF WinForms Interop с Включает / Отключают

С помощью EXTRACT(WEEKDAY FROM DATES) вы получите день недели (0 = воскресенье, 1 = понедельник,… 6 = суббота), чтобы вы могли сделать что-то вроде

   DATES >= DATEADD(DAY, -30, current_timestamp) 
AND DATES < 'TODAY' AND EXTRACT(WEEKDAY FROM DATES) >0 AND EXTRACT(WEEKDAY FROM DATES) <6 

10
задан Ksempac 24 June 2009 в 17:52
поделиться

2 ответа

Моему коллеге (спасибо KwB) удалось найти решение этой проблемы: http://support.microsoft.com/kb/955753

Это включает наследование от ElementHost и ручное указание области окна включения:

public class MyElementHost : ElementHost
{
    protected override void OnEnabledChanged(EventArgs e)
    {
        SynchChildEnableState(); 

        base.OnEnabledChanged(e);
    } 

    private void SynchChildEnableState()
    {
        IntPtr childHandle = GetWindow(Handle, GW_CHILD);
        if (childHandle != IntPtr.Zero)
        {
            EnableWindow(childHandle, Enabled);
        }
    } 

    private const uint GW_CHILD = 5; 

    [DllImport("user32.dll")]
    private extern static IntPtr GetWindow(IntPtr hWnd, uint uCmd); 

    [DllImport("user32.dll")]
    private extern static bool EnableWindow(IntPtr hWnd, bool bEnable);
} 
7
ответ дан 4 December 2019 в 02:27
поделиться

Хост элемента подписывается на события от пользовательского элемента управления WPF? Если так, и события не являются неподключенными прежде, чем попытаться расположить хост элемента, он будет бродить вокруг в памяти, пока управление WPF не будет расположено (и так как похоже на использование того же экземпляра управления повсюду которое не является, пока форма не закрывается.)

1
ответ дан 4 December 2019 в 02:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: