Codemaru 1.0.0.0
QR 코드, 모바일 랜딩 페이지, vCard 연락처 저장과 명함 디자인을 한 화면에서 제공하는 디지털 명함 서비스입니다.
로딩중...
검색중...
일치하는것 없음
Codemaru.ViewModels.MainWindowViewModel 클래스 참조sealed

더 자세히 ...

Codemaru.ViewModels.MainWindowViewModel에 대한 상속 다이어그램 :
Codemaru.ViewModels.MainWindowViewModel에 대한 협력 다이어그램:

Public 멤버 함수

 MainWindowViewModel (CardHybridSession session, CertificateMonitorViewModel certificateMonitor)
void Dispose ()

속성

CertificateMonitorViewModel CertificateMonitor [get]

Private 멤버 함수

void OnSessionChanged (object? sender, CardHybridState state)
void ApplyState (CardHybridState state)

정적 Private 멤버 함수

static Task RunOnUiAsync (Action action)

Private 속성

readonly CardHybridSession _session
readonly CertificateMonitorViewModel _certificateMonitor
bool _disposed
string _title = "Codemaru"
string _brand = string.Empty
string _ownerName = string.Empty
string _landingUrl = string.Empty
string _currentUser = "Guest"
string _statusMessage = "명함 랜딩 페이지 준비 중"
int _historyCount
ObservableCollection< string > _logs = new()

상세한 설명

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

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

생성자 & 소멸자 문서화

◆ MainWindowViewModel()

Codemaru.ViewModels.MainWindowViewModel.MainWindowViewModel ( CardHybridSession session,
CertificateMonitorViewModel certificateMonitor )
inline

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

매개변수
sessionsession에 사용할 CardHybridSession 값입니다.
certificateMonitorcertificate Monitor에 사용할 CertificateMonitorViewModel 값입니다.
예외
ArgumentNullException필수 입력 인자 중 하나가 null인 경우 발생합니다.

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

164 {
165 _session = session ?? throw new ArgumentNullException(nameof(session));
166 _certificateMonitor = certificateMonitor ?? throw new ArgumentNullException(nameof(certificateMonitor));
167 _session.StateChanged += OnSessionChanged;
168 ApplyState(_session.State);
169 Logs.Add($"[{DateTime.Now:HH:mm:ss}] CardHybrid started");
170 }

다음을 참조함 : _certificateMonitor, _session, ApplyState(), OnSessionChanged().

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

멤버 함수 문서화

◆ ApplyState()

void Codemaru.ViewModels.MainWindowViewModel.ApplyState ( CardHybridState state)
inlineprivate

Apply State 작업을 수행합니다.

매개변수
statestate에 사용할 CardHybridState 값입니다.

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

218 {
219 Brand = state.Profile.Brand;
220 OwnerName = state.Profile.Name;
221 LandingUrl = state.Profile.LandingUrl;
222 CurrentUser = "Guest";
223 HistoryCount = state.History.Count;
224 StatusMessage = $"{state.Profile.Name} / {state.Profile.Role}";
225 Logs.Add($"[{DateTime.Now:HH:mm:ss}] {state.Profile.LandingSlug} updated, history {HistoryCount}");
226 }

다음에 의해서 참조됨 : MainWindowViewModel(), OnSessionChanged().

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

◆ Dispose()

void Codemaru.ViewModels.MainWindowViewModel.Dispose ( )
inline

이 인스턴스가 소유한 리소스를 해제합니다.

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

278 {
279 if (_disposed)
280 {
281 return;
282 }
283
284 _session.StateChanged -= OnSessionChanged;
285 _disposed = true;
286 GC.SuppressFinalize(this);
287 }

다음을 참조함 : _disposed, OnSessionChanged().

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

◆ OnSessionChanged()

void Codemaru.ViewModels.MainWindowViewModel.OnSessionChanged ( object? sender,
CardHybridState state )
inlineprivate

Session Changed 이벤트 또는 상태 변경을 처리합니다.

매개변수
sender이벤트를 발생시킨 객체입니다.
statestate에 사용할 CardHybridState 값입니다.

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

197 {
198 _ = RunOnUiAsync(() => ApplyState(state));
199 }

다음을 참조함 : ApplyState(), RunOnUiAsync().

다음에 의해서 참조됨 : Dispose(), MainWindowViewModel().

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

◆ RunOnUiAsync()

Task Codemaru.ViewModels.MainWindowViewModel.RunOnUiAsync ( Action action)
inlinestaticprivate

Run On Ui Async 작업을 수행합니다.

매개변수
actionaction에 사용할 Action 값입니다.
반환값
Run On Ui Async 작업에서 생성한 Task 결과입니다.

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

253 {
254 if (Application.Current?.Dispatcher is not { } dispatcher)
255 {
256 action();
257 return Task.CompletedTask;
258 }
259
260 if (dispatcher.CheckAccess())
261 {
262 action();
263 return Task.CompletedTask;
264 }
265
266 return dispatcher.InvokeAsync(action).Task;
267 }

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

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

멤버 데이터 문서화

◆ _brand

string Codemaru.ViewModels.MainWindowViewModel._brand = string.Empty
private

brand 값을 보관합니다.

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

◆ _certificateMonitor

readonly CertificateMonitorViewModel Codemaru.ViewModels.MainWindowViewModel._certificateMonitor
private

certificate Monitor 값을 보관합니다.

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

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

◆ _currentUser

string Codemaru.ViewModels.MainWindowViewModel._currentUser = "Guest"
private

current User 값을 보관합니다.

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

◆ _disposed

bool Codemaru.ViewModels.MainWindowViewModel._disposed
private

disposed 값을 보관합니다.

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

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

◆ _historyCount

int Codemaru.ViewModels.MainWindowViewModel._historyCount
private

history Count 값을 보관합니다.

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

◆ _landingUrl

string Codemaru.ViewModels.MainWindowViewModel._landingUrl = string.Empty
private

landing Url 값을 보관합니다.

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

◆ _logs

ObservableCollection<string> Codemaru.ViewModels.MainWindowViewModel._logs = new()
private

logs 값을 보관합니다.

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

◆ _ownerName

string Codemaru.ViewModels.MainWindowViewModel._ownerName = string.Empty
private

owner Name 값을 보관합니다.

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

◆ _session

readonly CardHybridSession Codemaru.ViewModels.MainWindowViewModel._session
private

session 값을 보관합니다.

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

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

◆ _statusMessage

string Codemaru.ViewModels.MainWindowViewModel._statusMessage = "명함 랜딩 페이지 준비 중"
private

status Message 값을 보관합니다.

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

◆ _title

string Codemaru.ViewModels.MainWindowViewModel._title = "Codemaru"
private

title 값을 보관합니다.

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

속성 문서화

◆ CertificateMonitor

CertificateMonitorViewModel Codemaru.ViewModels.MainWindowViewModel.CertificateMonitor
get

Certificate Monitor 값을 가져옵니다.

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


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