SampleCrossUi.Wpf 1.0.0.0
SampleCrossUi.Wpf 사용 방법을 보여 주는 예제 프로젝트입니다.
로딩중...
검색중...
일치하는것 없음
SampleCrossUi.Wpf.ViewModels.MainViewModel 클래스 참조

더 자세히 ...

SampleCrossUi.Wpf.ViewModels.MainViewModel에 대한 상속 다이어그램 :
SampleCrossUi.Wpf.ViewModels.MainViewModel에 대한 협력 다이어그램:

Public 멤버 함수

 MainViewModel (CounterViewModel counterVm, LightBulbViewModel lightBulbVm, ControlsViewModel controlsVm, PopupViewModel popupVm)

속성

object? CurrentView [get, set]
ObservableCollection< ButtonData > NavButtons = new() [get]

Private 멤버 함수

void SwitchTo (string name, object vm, int index)
void SelectNav (int index)

Private 속성

object? _currentView
string? _currentPageName

상세한 설명

Main View Model 기능과 관련 상태를 캡슐화합니다.

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

생성자 & 소멸자 문서화

◆ MainViewModel()

SampleCrossUi.Wpf.ViewModels.MainViewModel.MainViewModel ( CounterViewModel counterVm,
LightBulbViewModel lightBulbVm,
ControlsViewModel controlsVm,
PopupViewModel popupVm )
inline

지정한 설정으로 MainViewModel 클래스의 새 인스턴스를 초기화합니다.

매개변수
counterVmcounter Vm에 사용할 CounterViewModel 값입니다.
lightBulbVmlight Bulb Vm에 사용할 LightBulbViewModel 값입니다.
controlsVmcontrols Vm에 사용할 ControlsViewModel 값입니다.
popupVmpopup Vm에 사용할 PopupViewModel 값입니다.

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

99 {
100 // 탭 이름과 전환할 ViewModel을 한 곳에 모아 데이터 기반으로 NavButtons를 생성한다.
101 var pages = new (string Content, object ViewModel)[]
102 {
103 ("Counter", counterVm),
104 ("Light Bulb", lightBulbVm),
105 ("Controls", controlsVm),
106 ("Popup", popupVm),
107 };
108
109 // ViewSwitcher.NotifyShown/NotifyHidden 데모: 탭이 전환될 때마다 해당 ViewModel이
110 // IActivatable/IVisibilityAware를 구현하면 Activate/Deactivate, OnShown/OnHidden이 호출된다.
111 foreach (var page in pages)
112 ViewSwitcher.RegisterViewModel(page.Content, page.ViewModel);
113
114 for (int i = 0; i < pages.Length; i++)
115 {
116 var index = i;
117 var name = pages[i].Content;
118 var vm = pages[i].ViewModel;
119
120 // VsNavigationHelper.Create는 Dreamine.UI.Wpf.Controls.Navigation에서 제공하는
121 // 표준 ButtonData 팩토리로, 직접 ButtonData를 new해서 스타일을 반복 지정하지 않아도 된다.
122 NavButtons.Add(VsNavigationHelper.Create(
123 name,
124 new RelayCommand(() => SwitchTo(name, vm, index)),
125 isSelected: index == 0));
126 }
127
128 SwitchTo(pages[0].Content, pages[0].ViewModel, 0);
129 }

다음을 참조함 : NavButtons, SwitchTo().

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

멤버 함수 문서화

◆ SelectNav()

void SampleCrossUi.Wpf.ViewModels.MainViewModel.SelectNav ( int index)
inlineprivate

Select Nav 작업을 수행합니다.

매개변수
indexindex에 사용할 int 값입니다.

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

191 {
192 for (int i = 0; i < NavButtons.Count; i++)
193 NavButtons[i].IsSelected = i == index;
194 }

다음을 참조함 : NavButtons.

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

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

◆ SwitchTo()

void SampleCrossUi.Wpf.ViewModels.MainViewModel.SwitchTo ( string name,
object vm,
int index )
inlineprivate

Switch To 작업을 수행합니다.

매개변수
namename에 사용할 string 값입니다.
vmvm에 사용할 object 값입니다.
indexindex에 사용할 int 값입니다.

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

164 {
165 if (_currentPageName != null)
166 ViewSwitcher.NotifyHidden(_currentPageName);
167
168 CurrentView = vm;
169 SelectNav(index);
170 ViewSwitcher.NotifyShown(name);
171 _currentPageName = name;
172 }

다음을 참조함 : _currentPageName, CurrentView, SelectNav().

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

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

멤버 데이터 문서화

◆ _currentPageName

string? SampleCrossUi.Wpf.ViewModels.MainViewModel._currentPageName
private

current Page Name 값을 보관합니다.

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

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

◆ _currentView

object? SampleCrossUi.Wpf.ViewModels.MainViewModel._currentView
private

current View 값을 보관합니다.

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

속성 문서화

◆ CurrentView

object? SampleCrossUi.Wpf.ViewModels.MainViewModel.CurrentView
getset

Current View 값을 가져오거나 설정합니다.

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

36{ get => _currentView; set => SetProperty(ref _currentView, value); }

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

◆ NavButtons

ObservableCollection<ButtonData> SampleCrossUi.Wpf.ViewModels.MainViewModel.NavButtons = new()
get

Nav Buttons 값을 가져옵니다.

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

46{ get; } = new();

다음에 의해서 참조됨 : MainViewModel(), SelectNav().


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