created and mapped ShellViewModel and according View

master
Jonas Arnold 3 years ago
parent 5d1744bbc7
commit d152bf121d
  1. 1
      MultiTerm.Core/MultiTerm.Core.csproj
  2. 9
      MultiTerm.Core/ViewModel/ShellViewModel.cs
  3. 3
      MultiTerm.Wpf/App.xaml.cs
  4. 6
      MultiTerm.Wpf/MainWindow.xaml
  5. 6
      MultiTerm.Wpf/MultiTerm.Wpf.csproj
  6. 12
      MultiTerm.Wpf/View/ShellView.xaml
  7. 13
      MultiTerm.Wpf/View/ShellView.xaml.cs

@ -8,7 +8,6 @@
<ItemGroup> <ItemGroup>
<Folder Include="Model\" /> <Folder Include="Model\" />
<Folder Include="ViewModel\" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

@ -0,0 +1,9 @@
using CommunityToolkit.Mvvm.ComponentModel;
namespace MultiTerm.Core.ViewModel;
public partial class ShellViewModel : ObservableObject
{
[ObservableProperty]
private string title = "ShellView Test";
}

@ -1,5 +1,6 @@
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
using MultiTerm.Core.ViewModel;
using System.Windows; using System.Windows;
namespace MultiTerm.Wpf; namespace MultiTerm.Wpf;
@ -17,7 +18,7 @@ public partial class App : Application
services.AddSingleton<MainWindow>(); services.AddSingleton<MainWindow>();
// viewmodels // viewmodels
//services.AddTransient<SendReceiveViewModel>(); services.AddSingleton<ShellViewModel>();
}) })
.Build(); .Build();
} }

@ -4,9 +4,9 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:MultiTerm.Wpf" xmlns:local="clr-namespace:MultiTerm.Wpf"
xmlns:vm="clr-namespace:MultiTerm.Core.ViewModel;assembly=MultiTerm.Core"
xmlns:v="clr-namespace:MultiTerm.Wpf.View"
mc:Ignorable="d" mc:Ignorable="d"
Title="MultiTerm" Height="450" Width="800"> Title="MultiTerm" Height="450" Width="800">
<Grid> <v:ShellView/>
</Grid>
</Window> </Window>

@ -8,12 +8,12 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Folder Include="View\" /> <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="7.0.1" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" /> <ProjectReference Include="..\MultiTerm.Core\MultiTerm.Core.csproj" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="7.0.1" />
</ItemGroup> </ItemGroup>
</Project> </Project>

@ -0,0 +1,12 @@
<UserControl x:Class="MultiTerm.Wpf.View.ShellView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:MultiTerm.Wpf.View"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Grid>
<Label Content="{Binding Title}"/>
</Grid>
</UserControl>

@ -0,0 +1,13 @@
using MultiTerm.Core.ViewModel;
using System.Windows.Controls;
namespace MultiTerm.Wpf.View;
public partial class ShellView : UserControl
{
public ShellView()
{
InitializeComponent();
this.DataContext = App.AppHost!.Services.GetService(typeof(ShellViewModel));
}
}
Loading…
Cancel
Save