Dreamine.UI.Wpf.Controls 1.0.1
Dreamine.UI.Wpf.Controls 사용자 인터페이스 기능과 구성 요소를 제공합니다.
로딩중...
검색중...
일치하는것 없음
Dreamine.UI.Wpf.Controls.DreamineLabel 클래스 참조

더 자세히 ...

Dreamine.UI.Wpf.Controls.DreamineLabel에 대한 상속 다이어그램 :
Dreamine.UI.Wpf.Controls.DreamineLabel에 대한 협력 다이어그램:

정적 Public 멤버 함수

static void SetCommandTriggerName (DependencyObject obj, string value)
static string GetCommandTriggerName (DependencyObject obj)
static void SetCommand (DependencyObject obj, ICommand value)
static ? ICommand GetCommand (DependencyObject obj)
static void SetCommandParameter (DependencyObject obj, object value)
static ? object GetCommandParameter (DependencyObject obj)

정적 Public 속성

static readonly DependencyProperty CommandProperty
static readonly DependencyProperty CommandParameterProperty
static readonly DependencyProperty CommandTriggerNameProperty

정적 Private 멤버 함수

static DreamineLabel ()
static void OnCommandChanged (DependencyObject d, DependencyPropertyChangedEventArgs e)
static void TryExecuteCommand (DependencyObject d, string eventName, RoutedEventArgs eventArgs)

정적 Private 속성

static readonly DependencyProperty IsHandlersHookedProperty

상세한 설명

전용 스타일과 이벤트 이름 기반 연결 명령을 제공하는 사용자 지정 레이블입니다.

DreamineLabel.cs 파일의 25 번째 라인에서 정의되었습니다.

생성자 & 소멸자 문서화

◆ DreamineLabel()

Dreamine.UI.Wpf.Controls.DreamineLabel.DreamineLabel ( )
inlinestaticprivate

기본 스타일 키를 재정의하고 레이블 테마 리소스를 애플리케이션에 병합합니다.

DreamineLabel.cs 파일의 35 번째 라인에서 정의되었습니다.

36 {
37 DefaultStyleKeyProperty.OverrideMetadata(typeof(DreamineLabel),
38 new FrameworkPropertyMetadata(typeof(DreamineLabel)));
39
40 var uri = new Uri("/Dreamine.UI.Wpf.Themes;component/DreamineLabelStyle.xaml", UriKind.RelativeOrAbsolute);
41
42 if (Application.Current != null)
43 {
44 bool alreadyAdded = Application.Current.Resources.MergedDictionaries
45 .OfType<ResourceDictionary>()
46 .Any(x => x.Source != null && x.Source.Equals(uri));
47
48 if (!alreadyAdded)
49 {
50 var dict = new ResourceDictionary { Source = uri };
51 Application.Current.Resources.MergedDictionaries.Add(dict);
52 }
53 }
54 }

다음을 참조함 : DreamineLabel().

다음에 의해서 참조됨 : DreamineLabel().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

멤버 함수 문서화

◆ GetCommand()

? ICommand Dreamine.UI.Wpf.Controls.DreamineLabel.GetCommand ( DependencyObject obj)
inlinestatic

대상 개체에 설정된 명령을 가져옵니다.

매개변수
obj값을 읽을 종속성 개체입니다.
반환값
구성된 명령이며 없으면 null입니다.
예외
ArgumentNullExceptionobj 가 null이면 발생합니다.

DreamineLabel.cs 파일의 257 번째 라인에서 정의되었습니다.

258 => obj.GetValue(CommandProperty) as ICommand;

다음을 참조함 : CommandProperty.

다음에 의해서 참조됨 : TryExecuteCommand().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ GetCommandParameter()

? object Dreamine.UI.Wpf.Controls.DreamineLabel.GetCommandParameter ( DependencyObject obj)
inlinestatic

대상 개체에 설정된 명령 매개변수를 가져옵니다.

매개변수
obj값을 읽을 종속성 개체입니다.
반환값
구성된 매개변수이며 없으면 null입니다.
예외
ArgumentNullExceptionobj 가 null이면 발생합니다.

DreamineLabel.cs 파일의 327 번째 라인에서 정의되었습니다.

328 => obj.GetValue(CommandParameterProperty);

다음을 참조함 : CommandParameterProperty.

다음에 의해서 참조됨 : TryExecuteCommand().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ GetCommandTriggerName()

string Dreamine.UI.Wpf.Controls.DreamineLabel.GetCommandTriggerName ( DependencyObject obj)
inlinestatic

대상 개체의 명령 트리거 이벤트 이름 목록을 가져옵니다.

매개변수
obj값을 읽을 종속성 개체입니다.
반환값
쉼표로 구분된 이벤트 이름이며 값이 없으면 빈 문자열입니다.
예외
ArgumentNullExceptionobj 가 null이면 발생합니다.

DreamineLabel.cs 파일의 187 번째 라인에서 정의되었습니다.

188 => obj.GetValue(CommandTriggerNameProperty) as string ?? string.Empty;

다음을 참조함 : CommandTriggerNameProperty.

다음에 의해서 참조됨 : TryExecuteCommand().

이 함수를 호출하는 함수들에 대한 그래프입니다.:

◆ OnCommandChanged()

void Dreamine.UI.Wpf.Controls.DreamineLabel.OnCommandChanged ( DependencyObject d,
DependencyPropertyChangedEventArgs e )
inlinestaticprivate

명령 속성이 처음 설정될 때 지원되는 입력 이벤트 처리기를 한 번만 연결합니다.

매개변수
d명령 값이 변경된 종속성 개체입니다.
e종속성 속성 변경 데이터입니다.

DreamineLabel.cs 파일의 354 번째 라인에서 정의되었습니다.

355 {
356 if (d is not UIElement element)
357 return;
358
359 // \brief Prevent duplicate hooking
360 bool hooked = (bool)(d.GetValue(IsHandlersHookedProperty) ?? false);
361 if (hooked)
362 return;
363
364 d.SetValue(IsHandlersHookedProperty, true);
365
366 // \brief Ensure hit-testable surface in common "label as button" usage
367 if (d is Control c && c.Background == null)
368 c.Background = Brushes.Transparent;
369
370 // \brief Mouse up
371 element.AddHandler(UIElement.PreviewMouseUpEvent,
372 new MouseButtonEventHandler((s, args) => TryExecuteCommand(d, "PreviewMouseUp", args)),
373 true);
374
375 // \brief Double click (Label does not have MouseDoubleClick by default; Control.MouseDoubleClickEvent is routed)
376 element.AddHandler(Control.MouseDoubleClickEvent,
377 new MouseButtonEventHandler((s, args) => TryExecuteCommand(d, "MouseDoubleClick", args)),
378 true);
379
380 // \brief Touch up
381 element.AddHandler(UIElement.TouchUpEvent,
382 new EventHandler<TouchEventArgs>((s, args) => TryExecuteCommand(d, "TouchUp", args)));
383 }

다음을 참조함 : IsHandlersHookedProperty, TryExecuteCommand().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:

◆ SetCommand()

void Dreamine.UI.Wpf.Controls.DreamineLabel.SetCommand ( DependencyObject obj,
ICommand value )
inlinestatic

대상 개체에 실행할 명령을 설정합니다.

매개변수
obj값을 설정할 종속성 개체입니다.
value실행할 명령입니다.
예외
ArgumentNullExceptionobj 가 null이면 발생합니다.

DreamineLabel.cs 파일의 222 번째 라인에서 정의되었습니다.

223 => obj.SetValue(CommandProperty, value);

다음을 참조함 : CommandProperty.

◆ SetCommandParameter()

void Dreamine.UI.Wpf.Controls.DreamineLabel.SetCommandParameter ( DependencyObject obj,
object value )
inlinestatic

대상 개체에 명령 매개변수를 설정합니다.

매개변수
obj값을 설정할 종속성 개체입니다.
value명령에 전달할 값입니다.
예외
ArgumentNullExceptionobj 가 null이면 발생합니다.

DreamineLabel.cs 파일의 292 번째 라인에서 정의되었습니다.

293 => obj.SetValue(CommandParameterProperty, value);

다음을 참조함 : CommandParameterProperty.

◆ SetCommandTriggerName()

void Dreamine.UI.Wpf.Controls.DreamineLabel.SetCommandTriggerName ( DependencyObject obj,
string value )
inlinestatic

대상 개체에 명령 트리거 이벤트 이름 목록을 설정합니다.

매개변수
obj값을 설정할 종속성 개체입니다.
value쉼표로 구분된 이벤트 이름입니다.
예외
ArgumentNullExceptionobj 가 null이면 발생합니다.

DreamineLabel.cs 파일의 152 번째 라인에서 정의되었습니다.

153 => obj.SetValue(CommandTriggerNameProperty, value);

다음을 참조함 : CommandTriggerNameProperty.

◆ TryExecuteCommand()

void Dreamine.UI.Wpf.Controls.DreamineLabel.TryExecuteCommand ( DependencyObject d,
string eventName,
RoutedEventArgs eventArgs )
inlinestaticprivate

이벤트 이름이 구성된 목록에 있으면 명령 실행 가능 여부를 확인하고 실행합니다.

매개변수
d명령 설정을 보유한 개체입니다.
eventName발생한 이벤트 이름입니다.
eventArgs기본 명령 매개변수로 사용할 이벤트 데이터입니다.

DreamineLabel.cs 파일의 417 번째 라인에서 정의되었습니다.

418 {
419 var rawTrigger = GetCommandTriggerName(d);
420 if (string.IsNullOrWhiteSpace(rawTrigger))
421 return;
422
423 var triggerList = rawTrigger.Split(',')
424 .Select(x => x.Trim())
425 .Where(x => !string.IsNullOrEmpty(x));
426
427 if (!triggerList.Contains(eventName, StringComparer.OrdinalIgnoreCase))
428 return;
429
430 var command = GetCommand(d);
431 var parameter = GetCommandParameter(d) ?? eventArgs;
432
433 if (command?.CanExecute(parameter) == true)
434 command.Execute(parameter);
435 }

다음을 참조함 : GetCommand(), GetCommandParameter(), GetCommandTriggerName().

다음에 의해서 참조됨 : OnCommandChanged().

이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:
이 함수를 호출하는 함수들에 대한 그래프입니다.:

멤버 데이터 문서화

◆ CommandParameterProperty

readonly DependencyProperty Dreamine.UI.Wpf.Controls.DreamineLabel.CommandParameterProperty
static
초기값:
=
DependencyProperty.RegisterAttached(
"CommandParameter",
typeof(object),
typeof(DreamineLabel),
new PropertyMetadata(null))

연결 명령에 전달할 선택적 매개변수 속성입니다. null이면 이벤트 데이터가 전달됩니다.

DreamineLabel.cs 파일의 83 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : GetCommandParameter(), SetCommandParameter().

◆ CommandProperty

readonly DependencyProperty Dreamine.UI.Wpf.Controls.DreamineLabel.CommandProperty
static
초기값:
=
DependencyProperty.RegisterAttached(
"Command",
typeof(ICommand),
typeof(DreamineLabel),
new PropertyMetadata(null, OnCommandChanged))
static void OnCommandChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
Hooks internal event handlers once when Command changes.

구성한 트리거 이벤트에서 실행할 연결 명령 속성입니다.

DreamineLabel.cs 파일의 68 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : GetCommand(), SetCommand().

◆ CommandTriggerNameProperty

readonly DependencyProperty Dreamine.UI.Wpf.Controls.DreamineLabel.CommandTriggerNameProperty
static
초기값:
=
DependencyProperty.RegisterAttached(
"CommandTriggerName",
typeof(string),
typeof(DreamineLabel),
new PropertyMetadata("PreviewMouseUp"))

쉼표로 구분된 명령 트리거 이벤트 이름 목록 속성입니다.

DreamineLabel.cs 파일의 98 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : GetCommandTriggerName(), SetCommandTriggerName().

◆ IsHandlersHookedProperty

readonly DependencyProperty Dreamine.UI.Wpf.Controls.DreamineLabel.IsHandlersHookedProperty
staticprivate
초기값:
=
DependencyProperty.RegisterAttached(
"IsHandlersHooked",
typeof(bool),
typeof(DreamineLabel),
new PropertyMetadata(false))

내부 이벤트 처리기의 중복 연결을 방지하는 플래그 속성입니다.

DreamineLabel.cs 파일의 113 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : OnCommandChanged().


이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: