Add Avalonia based desktop client
Squashed commit of the following: commit 0bfba90cd31bc9d401bf25cd479f6aef314988d5 Author: luxick <git@luxick.de> Date: Mon Mar 2 21:58:32 2020 +0100 Add view switching with Global.Navigator commit e0f535152aaa31fc2d4b6712459d208e27831696 Author: luxick <git@luxick.de> Date: Mon Mar 2 20:53:01 2020 +0100 Make ViewModels require api client commit f66c9148fdb1c34a2b92321dfc7a053894f381ce Author: luxick <git@luxick.de> Date: Mon Mar 2 20:51:35 2020 +0100 Update framework to core 3.1 commit 273b2940f043d889c70e8d7a69a54d6b4b200a62 Author: luxick <git@luxick.de> Date: Mon Mar 2 20:49:43 2020 +0100 Player and Season View/Models commit b3325b176740c403381009882c98a401ece05d0a Author: luxick <git@luxick.de> Date: Mon Mar 2 20:44:55 2020 +0100 Add EstusShots.Avalonia project
This commit is contained in:
26
EstusShots.Avalonia/Global.cs
Normal file
26
EstusShots.Avalonia/Global.cs
Normal file
@@ -0,0 +1,26 @@
|
||||
using EstusShots.Avalonia.ViewModels;
|
||||
|
||||
namespace EstusShots.Avalonia
|
||||
{
|
||||
public static class Global
|
||||
{
|
||||
public static Navigator Navigator;
|
||||
}
|
||||
|
||||
public class Navigator
|
||||
{
|
||||
private readonly MainWindowViewModel _model;
|
||||
|
||||
public Navigator(MainWindowViewModel model)
|
||||
{
|
||||
_model = model;
|
||||
}
|
||||
|
||||
public void GoTo<TViewModel>() where TViewModel : ViewModelBase
|
||||
{
|
||||
var o = _model.Container.GetService(typeof(TViewModel));
|
||||
if (!(o is ViewModelBase viewModel)) return;
|
||||
_model.Content = viewModel;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user