С помощью 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
Моему коллеге (спасибо 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);
}
Хост элемента подписывается на события от пользовательского элемента управления WPF? Если так, и события не являются неподключенными прежде, чем попытаться расположить хост элемента, он будет бродить вокруг в памяти, пока управление WPF не будет расположено (и так как похоже на использование того же экземпляра управления повсюду которое не является, пока форма не закрывается.)