using Avalonia.Controls; using Avalonia.Controls.Templates; using Presence.Desktop.ViewModels; using System; using Presence.Desktop.Views; using ReactiveUI; namespace Presence.Desktop { public class ViewLocator : IViewLocator { public IViewFor? ResolveView(T? viewModel, string? contract = null) => viewModel switch { StartViewModel startViewModel => new StartView { DataContext = startViewModel }, GroupViewModel groupViewModel => new GroupView{DataContext = groupViewModel}, PresenceViewModel presenceViewModel => new PresenceView{DataContext = presenceViewModel}, _ => throw new ArgumentOutOfRangeException(nameof(viewModel)) }; } }