|
Dreamine.UI.Wpf.Controls 1.0.1
Dreamine.UI.Wpf.Controls 사용자 인터페이스 기능과 구성 요소를 제공합니다.
|


Public 멤버 함수 | |
| DreamineTabHost () | |
정적 Public 속성 | |
| static readonly DependencyProperty | TargetAnalyzedProperty |
| static readonly DependencyProperty | IsCurrentTargetPopupProperty |
| static readonly DependencyProperty | ContentListProperty |
| static readonly DependencyProperty | ContentTypeListProperty |
| static readonly DependencyProperty | CurrentViewProperty |
| static readonly DependencyProperty | SelectViewProperty |
| static readonly DependencyProperty | UseSingletonViewProperty |
| static readonly DependencyProperty | DesignBaseNamespaceHintProperty |
| static readonly DependencyProperty | DesignAssemblyHintProperty |
| static readonly DependencyProperty | AutoWireDesignViewModelProperty |
Protected 멤버 함수 | |
| override void | OnInitialized (EventArgs e) |
속성 | |
| ObservableCollection< DreamineTabHostItem > | Items = new ObservableCollection<DreamineTabHostItem>() [get] |
| bool | TargetAnalyzed [get, set] |
| bool | IsCurrentTargetPopup [get, private set] |
| ObservableCollection< string > | ContentList [get, set] |
| ObservableCollection< string > | ContentTypeList [get, set] |
| string | CurrentView [get, set] |
| int | SelectView [get, set] |
| bool | UseSingletonView [get, set] |
| string | DesignBaseNamespaceHint [get, set] |
| string | DesignAssemblyHint [get, set] |
| bool | AutoWireDesignViewModel [get, set] |
Private 멤버 함수 | |
| void | ScheduleSwitch () |
| void | SwitchToViewInternal (string? targetKey) |
| void | UpdateVisibleView () |
| void | UpdateVisibleViewDesign () |
| void | OnRootIsVisibleChanged (object sender, DependencyPropertyChangedEventArgs e) |
| void | TryInitViews () |
| List<(string name, string typeName)> | BuildPairsFromItemsOrDps () |
| List<(string name, string typeName)> | BuildPairsFromItems () |
| string? | GetDeclaredRawEntryAt (int index) |
| void | InitDesignViews (List<(string name, string typeName)> pairs) |
| bool | IsInDesignMode () |
정적 Private 멤버 함수 | |
| static void | OnContentInputsChanged (DependencyObject d, DependencyPropertyChangedEventArgs e) |
| static void | OnDesignHintChanged (DependencyObject d, DependencyPropertyChangedEventArgs e) |
| static void | OnCurrentViewChanged (DependencyObject d, DependencyPropertyChangedEventArgs e) |
| static void | OnSelectViewChanged (DependencyObject d, DependencyPropertyChangedEventArgs e) |
| static List<(string name, string typeName)> | EnsureUniqueNames (List<(string name, string typeName)> pairs) |
| static List<(string name, string typeName)> | BuildNameTypePairs_NoMutation (ObservableCollection< string >? names, ObservableCollection< string >? types) |
| static string | DeriveSimpleKeyFromType (string raw) |
| static string[] | BuildDesignTypeCandidates (string raw, string baseNs, string asmHint) |
| static ? UserControl | TryCreateDesignView (string typeName) |
| static ? Type | FindTypeByName (string name) |
| static UserControl | MakeDesignPlaceholder (string title) |
| static void | AttachDesignViewModelIfEmpty (UserControl view) |
| static ? Type | ResolveDesignViewModelType (Type viewType) |
Private 속성 | |
| FrameworkElement? | _currentView |
| readonly Dictionary< string, FrameworkElement > | _views = new Dictionary<string, FrameworkElement>() |
| readonly List< string > | _order = new List<string>() |
| readonly PopupWindowManager | _popupManager = PopupWindowManager.Instance |
| ViewSwitcher? | _viewSwitcher |
| Grid | _containerGrid = null! |
| bool | _isSwitchScheduled |
| int | _designLastIndex = -1 |
| readonly Dictionary< FrameworkElement, bool > | _lastVisibilityState = new Dictionary<FrameworkElement, bool>() |
정적 Private 속성 | |
| static readonly DependencyPropertyKey | IsCurrentTargetPopupPropertyKey |
문자열 키로 뷰를 동적 생성·전환하고 팝업 및 디자인 타임 표시를 지원하는 탭 호스트입니다.
Content control that dynamically loads and switches views by string keys. Details:
DreamineControl.cs 파일의 61 번째 라인에서 정의되었습니다.
|
inline |
새 탭 호스트를 만들고 항목 모음 변경 시 뷰를 다시 초기화하도록 등록합니다.
DreamineControl.cs 파일의 248 번째 라인에서 정의되었습니다.
다음을 참조함 : ContentList, TryInitViews().
다음에 의해서 참조됨 : OnContentInputsChanged(), OnCurrentViewChanged(), OnDesignHintChanged(), OnSelectViewChanged().


|
inlinestaticprivate |
데이터 컨텍스트가 비어 있으면 이름 규칙으로 디자인 뷰 모델을 확인하여 연결합니다.
| view | 뷰 모델을 연결할 사용자 컨트롤입니다. |
| NullReferenceException | view 가 null일 때 발생합니다. |
DreamineControl.cs 파일의 1612 번째 라인에서 정의되었습니다.
다음을 참조함 : ResolveDesignViewModelType().
다음에 의해서 참조됨 : InitDesignViews().


|
inlinestaticprivate |
원시 이름과 선택적 네임스페이스·어셈블리 힌트로 디자인 타임 형식 후보를 만듭니다.
| raw | 원시 형식 이름입니다. |
| baseNs | 기본 네임스페이스 힌트입니다. |
| asmHint | 어셈블리 힌트입니다. |
DreamineControl.cs 파일의 1393 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : InitDesignViews().

|
inlinestaticprivate |
원본 모음을 변경하지 않고 이름 및 형식 모음에서 대응 쌍을 만듭니다.
| names | 선택적 논리 이름 모음입니다. |
| types | 선택적 형식 이름 모음입니다. |
DreamineControl.cs 파일의 1275 번째 라인에서 정의되었습니다.
다음을 참조함 : DeriveSimpleKeyFromType().
다음에 의해서 참조됨 : BuildPairsFromItemsOrDps().


|
inlineprivate |
XAML 자식 항목의 콘텐츠·키·형식·팝업 설정에서 이름·형식 쌍을 만듭니다.
DreamineControl.cs 파일의 1027 번째 라인에서 정의되었습니다.
다음을 참조함 : DeriveSimpleKeyFromType(), Items.
다음에 의해서 참조됨 : BuildPairsFromItemsOrDps().


|
inlineprivate |
XAML 항목을 우선 사용하고 없으면 종속성 속성 모음에서 이름·형식 쌍을 만듭니다.
DreamineControl.cs 파일의 997 번째 라인에서 정의되었습니다.
다음을 참조함 : BuildNameTypePairs_NoMutation(), BuildPairsFromItems(), ContentList, ContentTypeList, EnsureUniqueNames().
다음에 의해서 참조됨 : TryInitViews().


|
inlinestaticprivate |
정규화된 형식 이름의 마지막 구간에서 단순 논리 키를 파생합니다.
| raw | 원시 형식 이름입니다. |
DreamineControl.cs 파일의 1348 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildNameTypePairs_NoMutation(), BuildPairsFromItems(), EnsureUniqueNames(), UpdateVisibleView().

|
inlinestaticprivate |
빈 논리 이름을 파생하고 중복 이름에 순번 접미사를 붙입니다.
| pairs | 정규화할 이름·형식 쌍입니다. |
| ArgumentNullException | pairs 가 null일 때 발생합니다. |
DreamineControl.cs 파일의 1210 번째 라인에서 정의되었습니다.
다음을 참조함 : DeriveSimpleKeyFromType().
다음에 의해서 참조됨 : BuildPairsFromItemsOrDps().


|
inlinestaticprivate |
로드된 어셈블리에서 정규화된 이름 또는 짧은 이름으로 형식을 찾습니다.
| name | 찾을 형식 이름입니다. |
null입니다.| NullReferenceException | name 이 null일 때 발생합니다. |
DreamineControl.cs 파일의 1508 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ResolveDesignViewModelType(), TryCreateDesignView().

|
inlineprivate |
지정 인덱스의 원시 선언을 항목에서 우선 찾고 콘텐츠 목록을 대체 경로로 사용합니다.
| index | 확인할 0 기반 인덱스입니다. |
null입니다.DreamineControl.cs 파일의 1093 번째 라인에서 정의되었습니다.
다음을 참조함 : ContentList, Items.
다음에 의해서 참조됨 : UpdateVisibleView().

|
inlineprivate |
디자인 타임 형식 후보를 생성해 뷰 또는 자리표시자를 만들고 선택 항목을 표시합니다.
| pairs | 만들 논리 이름과 형식 이름 쌍입니다. |
DreamineControl.cs 파일의 1120 번째 라인에서 정의되었습니다.
다음을 참조함 : _containerGrid, _designLastIndex, _order, _views, AttachDesignViewModelIfEmpty(), AutoWireDesignViewModel, BuildDesignTypeCandidates(), DesignAssemblyHint, DesignBaseNamespaceHint, MakeDesignPlaceholder(), SelectView, TryCreateDesignView().
다음에 의해서 참조됨 : TryInitViews().


|
inlineprivate |
현재 컨트롤이 디자이너에서 실행 중인지 확인합니다.
true입니다.DreamineControl.cs 파일의 1175 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ScheduleSwitch(), TryInitViews().

|
inlinestaticprivate |
디자인 타임 뷰를 만들 수 없을 때 표시할 자리표시자 컨트롤을 만듭니다.
| title | 자리표시자에 표시할 제목입니다. |
DreamineControl.cs 파일의 1567 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : InitDesignViews().

|
inlinestaticprivate |
콘텐츠 입력이 변경되면 호스트 뷰를 다시 초기화합니다.
| d | 입력이 변경된 객체입니다. |
| e | 속성 변경 데이터입니다. |
DreamineControl.cs 파일의 526 번째 라인에서 정의되었습니다.
다음을 참조함 : DreamineTabHost().

|
inlinestaticprivate |
현재 뷰 이름 변경을 디스패처에서 비동기 전환으로 예약합니다.
| d | 현재 뷰가 변경된 객체입니다. |
| e | 새 뷰 이름을 포함하는 변경 데이터입니다. |
DreamineControl.cs 파일의 590 번째 라인에서 정의되었습니다.
다음을 참조함 : DreamineTabHost().

|
inlinestaticprivate |
디자인 모드에서 힌트가 변경되면 호스트 뷰를 다시 초기화합니다.
| d | 힌트가 변경된 객체입니다. |
| e | 속성 변경 데이터입니다. |
DreamineControl.cs 파일의 558 번째 라인에서 정의되었습니다.
다음을 참조함 : DreamineTabHost().

|
inlineprotected |
XAML 자식 파싱이 끝난 뒤 컨텍스트 유휴 시점에 뷰 초기화를 예약합니다.
| e | 초기화 이벤트 데이터입니다. |
DreamineControl.cs 파일의 653 번째 라인에서 정의되었습니다.
다음을 참조함 : TryInitViews().

|
inlineprivate |
루트 뷰 표시 상태 변경을 중복 제거하여 IVisibilityAware 수명 콜백으로 전달합니다.
| sender | 표시 상태가 변경된 루트 뷰입니다. |
| e | 새 표시 상태를 포함하는 변경 데이터입니다. |
| InvalidCastException | 새 값이 bool이 아닐 때 발생할 수 있습니다. |
DreamineControl.cs 파일의 863 번째 라인에서 정의되었습니다.
다음을 참조함 : _lastVisibilityState.
다음에 의해서 참조됨 : TryInitViews().

|
inlinestaticprivate |
선택 인덱스 변경 시 뷰 전환을 예약합니다.
| d | 선택이 변경된 객체입니다. |
| e | 선택 변경 데이터입니다. |
DreamineControl.cs 파일의 625 번째 라인에서 정의되었습니다.
다음을 참조함 : DreamineTabHost().

|
inlinestaticprivate |
일반적인 이름 규칙으로 뷰 형식에 대응하는 뷰 모델 형식을 찾습니다.
| viewType | 대응 뷰 모델을 찾을 뷰 형식입니다. |
null입니다.| NullReferenceException | viewType 이 null일 때 발생합니다. |
DreamineControl.cs 파일의 1671 번째 라인에서 정의되었습니다.
다음을 참조함 : FindTypeByName().
다음에 의해서 참조됨 : AttachDesignViewModelIfEmpty().


|
inlineprivate |
빠르게 연속된 선택 변경을 하나의 디스패처 전환으로 병합합니다.
DreamineControl.cs 파일의 676 번째 라인에서 정의되었습니다.
다음을 참조함 : _isSwitchScheduled, IsInDesignMode(), UpdateVisibleView(), UpdateVisibleViewDesign().

|
inlineprivate |
논리 키로 일반 뷰 또는 팝업을 전환하고 현재 루트 뷰를 갱신합니다.
| targetKey | 전환할 논리 뷰 키입니다. |
DreamineControl.cs 파일의 721 번째 라인에서 정의되었습니다.
다음을 참조함 : _currentView, _views, _viewSwitcher, IsCurrentTargetPopup, TargetAnalyzed.
다음에 의해서 참조됨 : TryInitViews(), UpdateVisibleView().

|
inlinestaticprivate |
디자인 타임에 형식 이름으로 사용자 컨트롤을 만들며 실패하면 null을 반환합니다.
| typeName | 만들 형식 이름입니다. |
null입니다.DreamineControl.cs 파일의 1440 번째 라인에서 정의되었습니다.
다음을 참조함 : FindTypeByName().
다음에 의해서 참조됨 : InitDesignViews().


|
inlineprivate |
항목 또는 종속성 속성 입력에서 뷰를 만들고 팝업·표시 수명·전환기를 초기화합니다.
DreamineControl.cs 파일의 906 번째 라인에서 정의되었습니다.
다음을 참조함 : _containerGrid, _currentView, _lastVisibilityState, _order, _popupManager, _views, _viewSwitcher, BuildPairsFromItemsOrDps(), CurrentView, InitDesignViews(), IsInDesignMode(), Dreamine.UI.Wpf.Controls.ViewRegion.ViewLoader.LoadViewWithViewModel(), OnRootIsVisibleChanged(), SwitchToViewInternal(), UpdateVisibleView(), UpdateVisibleViewDesign(), UseSingletonView.
다음에 의해서 참조됨 : DreamineTabHost(), OnInitialized().


|
inlineprivate |
런타임에서 선택 인덱스를 안정된 키 순서로 변환해 뷰를 전환합니다.
DreamineControl.cs 파일의 759 번째 라인에서 정의되었습니다.
다음을 참조함 : _order, _viewSwitcher, DeriveSimpleKeyFromType(), GetDeclaredRawEntryAt(), SelectView, SwitchToViewInternal().
다음에 의해서 참조됨 : ScheduleSwitch(), TryInitViews().


|
inlineprivate |
디자인 타임에 그리드의 단일 자식을 교체해 선택 뷰를 표시합니다.
DreamineControl.cs 파일의 797 번째 라인에서 정의되었습니다.
다음을 참조함 : _containerGrid, _designLastIndex, _order, _views, SelectView.
다음에 의해서 참조됨 : ScheduleSwitch(), TryInitViews().

|
private |
현재 뷰를 담는 시각적 그리드 호스트를 보관합니다.
DreamineControl.cs 파일의 135 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : InitDesignViews(), TryInitViews(), UpdateVisibleViewDesign().
|
private |
마지막으로 활성화된 비팝업 루트 뷰를 보관합니다.
DreamineControl.cs 파일의 85 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : SwitchToViewInternal(), TryInitViews().
|
private |
디자인 타임에 마지막으로 선택된 인덱스를 보관합니다.
DreamineControl.cs 파일의 155 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : InitDesignViews(), UpdateVisibleViewDesign().
|
private |
디스패처 틱에 뷰 전환이 예약되었는지 나타냅니다.
DreamineControl.cs 파일의 145 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : ScheduleSwitch().
|
private |
중복 콜백을 막기 위해 루트 뷰별 마지막 표시 상태를 보관합니다.
DreamineControl.cs 파일의 165 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : OnRootIsVisibleChanged(), TryInitViews().
|
private |
인덱스 기반 전환에 사용할 논리 키 순서를 보관합니다.
DreamineControl.cs 파일의 105 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : InitDesignViews(), TryInitViews(), UpdateVisibleView(), UpdateVisibleViewDesign().
|
private |
|
private |
논리 뷰 이름별 런타임 또는 디자인 뷰를 보관합니다.
DreamineControl.cs 파일의 95 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : InitDesignViews(), SwitchToViewInternal(), TryInitViews(), UpdateVisibleViewDesign().
|
private |
현재 뷰 및 팝업을 전환할 도우미를 보관합니다.
DreamineControl.cs 파일의 125 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : SwitchToViewInternal(), TryInitViews(), UpdateVisibleView().
|
static |
디자인 뷰 모델 자동 연결 설정 종속성 속성을 식별합니다.
DreamineControl.cs 파일의 477 번째 라인에서 정의되었습니다.
|
static |
논리 뷰 이름 목록 종속성 속성을 식별합니다.
DreamineControl.cs 파일의 269 번째 라인에서 정의되었습니다.
|
static |
구체적인 뷰 형식 이름 목록 종속성 속성을 식별합니다.
DreamineControl.cs 파일의 301 번째 라인에서 정의되었습니다.
|
static |
현재 논리 뷰 이름 종속성 속성을 식별합니다.
DreamineControl.cs 파일의 330 번째 라인에서 정의되었습니다.
|
static |
디자인 타임 어셈블리 힌트 종속성 속성을 식별합니다.
DreamineControl.cs 파일의 448 번째 라인에서 정의되었습니다.
|
static |
디자인 타임 기본 네임스페이스 힌트 종속성 속성을 식별합니다.
DreamineControl.cs 파일의 419 번째 라인에서 정의되었습니다.
|
static |
대기 중인 대상의 팝업 여부를 나타내는 읽기 전용 종속성 속성을 식별합니다.
DreamineControl.cs 파일의 221 번째 라인에서 정의되었습니다.
|
staticprivate |
현재 대상 팝업 여부의 읽기 전용 종속성 속성 키입니다.
DreamineControl.cs 파일의 206 번째 라인에서 정의되었습니다.
|
static |
현재 뷰 인덱스 종속성 속성을 식별합니다.
DreamineControl.cs 파일의 359 번째 라인에서 정의되었습니다.
|
static |
전환 전에 대상의 팝업 여부를 계산할지 지정하는 종속성 속성을 식별합니다.
DreamineControl.cs 파일의 177 번째 라인에서 정의되었습니다.
|
static |
뷰 싱글톤 재사용 설정 종속성 속성을 식별합니다.
DreamineControl.cs 파일의 388 번째 라인에서 정의되었습니다.
|
getset |
데이터 컨텍스트가 없을 때 디자인 뷰 모델을 자동 연결할지 가져오거나 설정합니다.
DreamineControl.cs 파일의 492 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : InitDesignViews().
|
getset |
논리 뷰 또는 형식 이름 목록을 가져오거나 설정합니다.
Logical list of view names or type names. Details:
DreamineControl.cs 파일의 287 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildPairsFromItemsOrDps(), DreamineTabHost(), GetDeclaredRawEntryAt().
|
getset |
ContentList와 인덱스로 대응하는 선택적 구체 뷰 형식 목록을 가져오거나 설정합니다.
DreamineControl.cs 파일의 316 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildPairsFromItemsOrDps().
|
getset |
문자열 기반 탐색에 사용할 현재 논리 뷰 이름을 가져오거나 설정합니다.
DreamineControl.cs 파일의 345 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : TryInitViews().
|
getset |
디자인 타임 형식 확인용 어셈블리 힌트를 가져오거나 설정합니다.
DreamineControl.cs 파일의 463 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : InitDesignViews().
|
getset |
디자인 타임 짧은 형식 이름 확인용 기본 네임스페이스를 가져오거나 설정합니다.
DreamineControl.cs 파일의 434 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : InitDesignViews().
|
getprivate set |
대기 중인 전환 대상이 팝업인지 가져옵니다.
DreamineControl.cs 파일의 232 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : SwitchToViewInternal().
|
get |
XAML 자식으로 선언된 탭 항목 모음을 가져옵니다.
XAML child items collection. Details:
DreamineControl.cs 파일의 75 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : BuildPairsFromItems(), GetDeclaredRawEntryAt().
|
getset |
0부터 시작하는 현재 뷰 인덱스를 가져오거나 설정합니다.
DreamineControl.cs 파일의 374 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : InitDesignViews(), UpdateVisibleView(), UpdateVisibleViewDesign().
|
getset |
전환 전에 대상의 팝업 여부를 계산하고 노출할지 가져오거나 설정합니다.
DreamineControl.cs 파일의 192 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : SwitchToViewInternal().
|
getset |
뷰를 싱글톤으로 재사용할지 가져오거나 설정합니다.
DreamineControl.cs 파일의 403 번째 라인에서 정의되었습니다.
다음에 의해서 참조됨 : TryInitViews().