Dreamine.MVVM.Behaviors.Wpf
1.0.5
Dreamine.MVVM.Behaviors.Wpf 산업 자동화 및 I/O 기능을 제공합니다.
Toggle main menu visibility
로딩중...
검색중...
일치하는것 없음
BehaviorCollection.cs
이 파일의 문서화 페이지로 가기
1
using
Dreamine.MVVM.Behaviors.Core.Base;
2
using
Dreamine.MVVM.Behaviors.Core.Interfaces;
3
using
System.Diagnostics;
4
using
System.Windows;
5
using
System.Windows.Markup;
6
7
namespace
Dreamine.MVVM.Behaviors.Wpf.Interactivity
8
{
17
public
sealed
class
BehaviorCollection
: FreezableCollection<DependencyObject>, IAttachedObject
18
{
27
private
DependencyObject ?
_associatedObject
;
// 연결된 대상 객체
36
public
DependencyObject
AssociatedObject
=>
_associatedObject
!;
// 연결된 대상 객체의 접근자
37
62
public
void
Attach
(DependencyObject associatedObject)
63
{
64
// 이미 다른 객체에 연결되었으면 예외 발생
65
if
(
_associatedObject
!= associatedObject)
66
{
67
// 이미 다른 객체에 연결된 상태라면 오류 처리
68
if
(
_associatedObject
!=
null
)
69
throw
new
InvalidOperationException(
"Cannot attach a collection to more than one object."
);
70
71
_associatedObject
= associatedObject;
// 새로운 객체에 연결
72
73
foreach
(var item
in
this
)
74
{
75
if
(item is IAttachedObject attachedObject)
76
{
77
attachedObject.Attach(associatedObject);
78
}
79
}
80
}
81
}
82
91
public
void
Detach
()
92
{
93
foreach
(var item
in
this
)
94
{
95
if
(item is IAttachedObject attachedObject)
96
{
97
attachedObject.Detach();
98
}
99
}
100
101
_associatedObject
=
null
;
// 분리 후 `associatedObject`를 null로 설정
102
}
103
}
104
}
Dreamine.MVVM.Behaviors.Wpf.Interactivity
Definition
BehaviorCollection.cs:8
Dreamine.MVVM.Behaviors.Wpf.Interactivity.BehaviorCollection
Definition
BehaviorCollection.cs:18
Dreamine.MVVM.Behaviors.Wpf.Interactivity.BehaviorCollection._associatedObject
DependencyObject? _associatedObject
Definition
BehaviorCollection.cs:27
Dreamine.MVVM.Behaviors.Wpf.Interactivity.BehaviorCollection.AssociatedObject
DependencyObject AssociatedObject
Definition
BehaviorCollection.cs:36
Dreamine.MVVM.Behaviors.Wpf.Interactivity.BehaviorCollection.Detach
void Detach()
Definition
BehaviorCollection.cs:91
Dreamine.MVVM.Behaviors.Wpf.Interactivity.BehaviorCollection.Attach
void Attach(DependencyObject associatedObject)
Definition
BehaviorCollection.cs:62
Interactivity
BehaviorCollection.cs
다음에 의해 생성됨 :
1.17.0