http://msdn.microsoft.com/ko-kr/library/ms590934.aspx
ToggleButton
CheckBox
=>
AutomationPeer _apeer;
IToggleProvider chkBoxToggleProvider;
_apeer = new ToggleButtonAutomationPeer(obj as dynamic);
chkBoxToggleProvider = (IToggleProvider)_apeer;
chkBoxToggleProvider.Toggle();
Button
=>
IInvokeProvider invokeProv = null;
ButtonAutomationPeer peer = new ButtonAutomationPeer(obj as dynamic);
invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
invokeProv.Invoke();
TextBox
=>
IInvokeProvider invokeProv = null;
TextBoxAutomationPeer peer = new TextBoxAutomationPeer(obj as dynamic);
peer.RaiseAutomationEvent(AutomationEvents.TextPatternOnTextChanged);
invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider;
invokeProv.Invoke();
/// <param name="obj">크로스스레드방지</param>
/// <param name="obj">컨트롤</param>
/// <param name="routedEvent">라우트이벤트</param>
/// <param name="key">먹이는키</param>
/// <remarks>
/// ex) ControlAutomationPeer(this, HTextBox, UIElement.KeyUpEvent , Key.Enter);
/// </remarks>
public static void ControlAutomationPeer(DependencyObject dis, DependencyObject obj, RoutedEvent routedEvent, Key key)
{
dis.Dispatcher.BeginInvoke(DispatcherPriority.Send, (ThreadStart)delegate
{
KeyEventArgs keyEventArgs = new KeyEventArgs(Keyboard.PrimaryDevice, Keyboard.PrimaryDevice.ActiveSource, System.Environment.ProcessorCount, key);
keyEventArgs.RoutedEvent = routedEvent;//UIElement.KeyUpEvent;
(obj as dynamic).RaiseEvent(keyEventArgs);
//InputManager.Current.ProcessInput(eventArgs);
});
}
'.NET > WPF' 카테고리의 다른 글
dynamic 오류 System.IndexOutOfRangeException 'Microsoft.CSharp.dll' (1) | 2013.05.02 |
---|---|
StaticResource and DynamicResource (0) | 2010.07.20 |
Using WCF in .NET Compact Framework (0) | 2010.06.11 |
Foundations: 특수한 컨트롤을 위한 템플릿 (0) | 2010.05.25 |
응용 프로그램 샘플(WPF) (0) | 2009.12.17 |
단일 인스턴스 검색 샘플 (0) | 2009.12.14 |
WPF 기초 리스트에 바인딩하기 (0) | 2009.07.20 |
WPF 기초 데이터 바인딩 (0) | 2009.07.18 |