Dreamine.MVVM.Behaviors
1.0.4
Dreamine.MVVM.Behaviors 산업 자동화 및 I/O 기능을 제공합니다.
Toggle main menu visibility
로딩중...
검색중...
일치하는것 없음
FocusOnLoadedBehavior.cs
이 파일의 문서화 페이지로 가기
1
using
System.Windows;
2
using
System.Windows.Controls;
3
using
System.Windows.Input;
4
using
Dreamine.MVVM.Behaviors.Core.Base;
5
6
namespace
Dreamine.MVVM.Behaviors.MVVM
7
{
16
public
class
FocusOnLoadedBehavior
: Behavior<FrameworkElement>
17
{
26
public
static
readonly DependencyProperty
IsEnabledProperty
=
27
DependencyProperty.RegisterAttached(
28
"IsEnabled"
,
29
typeof(
bool
),
30
typeof(
FocusOnLoadedBehavior
),
31
new
PropertyMetadata(
false
,
OnIsEnabledChanged
));
32
57
public
static
bool
GetIsEnabled
(DependencyObject obj)
58
{
59
return
(
bool
)obj.GetValue(
IsEnabledProperty
);
60
}
61
86
public
static
void
SetIsEnabled
(DependencyObject obj,
bool
value)
87
{
88
obj.SetValue(
IsEnabledProperty
, value);
89
}
90
115
private
static
void
OnIsEnabledChanged
(DependencyObject d, DependencyPropertyChangedEventArgs e)
116
{
117
if
(d is FrameworkElement element && (
bool
)e.NewValue)
118
{
119
// Loaded 이벤트가 중복 연결되지 않도록 방지
120
element.Loaded -=
OnElementLoaded
;
121
element.Loaded +=
OnElementLoaded
;
122
}
123
}
124
149
private
static
void
OnElementLoaded
(
object
sender, RoutedEventArgs e)
150
{
151
if
(sender is FrameworkElement element)
152
{
153
element.Loaded -=
OnElementLoaded
;
154
155
// 포커스를 이동할 수 있는 경우에만 처리
156
if
(element.Focusable && element.IsEnabled && element.Visibility == Visibility.Visible)
157
{
158
element.Focus();
159
Keyboard.Focus(element);
160
}
161
}
162
}
163
164
}
165
}
Dreamine.MVVM.Behaviors.MVVM
Definition
EnterKeyCommandBehavior.cs:7
Dreamine.MVVM.Behaviors.MVVM.FocusOnLoadedBehavior
Definition
FocusOnLoadedBehavior.cs:17
Dreamine.MVVM.Behaviors.MVVM.FocusOnLoadedBehavior.OnElementLoaded
static void OnElementLoaded(object sender, RoutedEventArgs e)
Definition
FocusOnLoadedBehavior.cs:149
Dreamine.MVVM.Behaviors.MVVM.FocusOnLoadedBehavior.IsEnabledProperty
static readonly DependencyProperty IsEnabledProperty
Definition
FocusOnLoadedBehavior.cs:26
Dreamine.MVVM.Behaviors.MVVM.FocusOnLoadedBehavior.SetIsEnabled
static void SetIsEnabled(DependencyObject obj, bool value)
Definition
FocusOnLoadedBehavior.cs:86
Dreamine.MVVM.Behaviors.MVVM.FocusOnLoadedBehavior.OnIsEnabledChanged
static void OnIsEnabledChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
Definition
FocusOnLoadedBehavior.cs:115
Dreamine.MVVM.Behaviors.MVVM.FocusOnLoadedBehavior.GetIsEnabled
static bool GetIsEnabled(DependencyObject obj)
Definition
FocusOnLoadedBehavior.cs:57
MVVM
FocusOnLoadedBehavior.cs
다음에 의해 생성됨 :
1.17.0