SinglePage erweitert

This commit is contained in:
HuskyTeufel
2021-09-17 13:32:07 +02:00
parent 0f11ce7f0f
commit f2ea55ea34
26 changed files with 268 additions and 70 deletions

View File

@@ -3,7 +3,7 @@
public delegate TViewModel CreateViewModel<TViewModel>() where TViewModel : BaseViewModel; public delegate TViewModel CreateViewModel<TViewModel>() where TViewModel : BaseViewModel;
public class BaseViewModel : ObservableObject public class BaseViewModel : ObservableObject
{ {
public virtual void Dispose() { }
} }
} }

View File

@@ -19,9 +19,9 @@ namespace DaSaSo.ViewModel.Commands
public override async Task ExecuteAsync(object? parameter) public override async Task ExecuteAsync(object? parameter)
{ {
if(parameter is EViewType) if(parameter is EMainWindowViewType)
{ {
EViewType viewType = (EViewType)parameter; EMainWindowViewType viewType = (EMainWindowViewType)parameter;
_navigator.CurrentViewModel = _viewModelFactory.CreateViewModel(viewType); _navigator.CurrentViewModel = _viewModelFactory.CreateViewModel(viewType);
} }
} }

View File

@@ -6,7 +6,7 @@ using System.Threading.Tasks;
namespace DaSaSo.ViewModel.Enums namespace DaSaSo.ViewModel.Enums
{ {
public enum EViewType public enum EMainWindowViewType
{ {
Home, Home,
Clients, Clients,

View File

@@ -11,7 +11,7 @@ using System.Threading.Tasks;
namespace DaSaSo.ViewModel.Factories namespace DaSaSo.ViewModel.Factories
{ {
public class ViewModelAbstractFactory : IViewModelAbstractFactory public class MainWindowViewModelFactory : IViewModelAbstractFactory
{ {
private CreateViewModel<HomeViewModel> _createHomeViewModel; private CreateViewModel<HomeViewModel> _createHomeViewModel;
private CreateViewModel<ClientListViewModel> _createClientListViewModel; private CreateViewModel<ClientListViewModel> _createClientListViewModel;
@@ -20,7 +20,7 @@ namespace DaSaSo.ViewModel.Factories
private CreateViewModel<BuildingsiteListViewModel> _createBuildingsiteListViewModel; private CreateViewModel<BuildingsiteListViewModel> _createBuildingsiteListViewModel;
private CreateViewModel<SewerObjectListViewModel> _createSewerObjectListViewModel; private CreateViewModel<SewerObjectListViewModel> _createSewerObjectListViewModel;
public ViewModelAbstractFactory( public MainWindowViewModelFactory(
CreateViewModel<HomeViewModel> createHomeViewModel, CreateViewModel<HomeViewModel> createHomeViewModel,
CreateViewModel<ClientListViewModel> createClientListViewModel, CreateViewModel<ClientListViewModel> createClientListViewModel,
CreateViewModel<ClientEditViewModel> createClientEditViewModel, CreateViewModel<ClientEditViewModel> createClientEditViewModel,
@@ -35,22 +35,22 @@ namespace DaSaSo.ViewModel.Factories
_createSewerObjectListViewModel = createSewerObjectListViewModel; _createSewerObjectListViewModel = createSewerObjectListViewModel;
} }
public BaseViewModel CreateViewModel(EViewType viewType) public BaseViewModel CreateViewModel(EMainWindowViewType viewType)
{ {
switch (viewType) switch (viewType)
{ {
case EViewType.Home: case EMainWindowViewType.Home:
return _createHomeViewModel(); return _createHomeViewModel();
case EViewType.Clients: case EMainWindowViewType.Clients:
return _createClientListViewModel(); return _createClientListViewModel();
case EViewType.ClientEdit: case EMainWindowViewType.ClientEdit:
return _createClientEditViewModel(); return _createClientEditViewModel();
case EViewType.Projects: case EMainWindowViewType.Projects:
return _createProjektListViewModel(); return _createProjektListViewModel();
case EViewType.Buildingsites: case EMainWindowViewType.Buildingsites:
return _createBuildingsiteListViewModel(); return _createBuildingsiteListViewModel();
case EViewType.SewerObjects: case EMainWindowViewType.SewerObjects:
return _createSewerObjectListViewModel(); return _createSewerObjectListViewModel();
default: default:

View File

@@ -12,12 +12,17 @@ namespace DaSaSo.ViewModel.Interface
event EventHandler? ClientChanged; event EventHandler? ClientChanged;
event EventHandler? ProjectChanged; event EventHandler? ProjectChanged;
event EventHandler? BuildingSiteChanged; event EventHandler? BuildingSiteChanged;
event EventHandler? SewerObjectChanged;
Client AktuellClient { get; } Client AktuellClient { get; }
Project AktuellProjekt { get; } Project AktuellProjekt { get; }
Buildingsite AktuellBaustelle { get; } Buildingsite AktuellBaustelle { get; }
SewerObject AktuellSewerObject { get; }
void SetClient(Client client); void SetClient(Client client);
void SetProject(Project project); void SetProject(Project project);
void SetBuildingSite(Buildingsite buildingsite); void SetBuildingSite(Buildingsite buildingsite);
void SetSewerObject(SewerObject sewerObject);
void ResetProject();
void ResetBuildingSite();
} }
} }

View File

@@ -10,6 +10,6 @@ namespace DaSaSo.ViewModel.Interface
public interface INavigator public interface INavigator
{ {
BaseViewModel CurrentViewModel { get; set; } BaseViewModel CurrentViewModel { get; set; }
event Action StateChanged;
} }
} }

View File

@@ -9,6 +9,6 @@ namespace DaSaSo.ViewModel.Interface
{ {
public interface IViewModelAbstractFactory public interface IViewModelAbstractFactory
{ {
BaseViewModel CreateViewModel(EViewType viewType); BaseViewModel CreateViewModel(EMainWindowViewType viewType);
} }
} }

View File

@@ -0,0 +1,13 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DaSaSo.ViewModel.Interface
{
public interface IWindowService
{
void ShowWindow<T>(object DataContext);
}
}

View File

@@ -38,10 +38,11 @@ namespace DaSaSo.ViewModel
{ {
SewerObject? SelectedSewer = GetSelectedSewer(); SewerObject? SelectedSewer = GetSelectedSewer();
if (SelectedSewer == null) return; if (SelectedSewer == null) return;
Debugger.Break(); Debugger.Break();
} }
private SewerObject? GetSelectedSewer() public SewerObject? GetSelectedSewer()
{ {
SewerObject? result = null; SewerObject? result = null;
foreach(SewerObjectsToStreet? streetcollection in SewerObjects) foreach(SewerObjectsToStreet? streetcollection in SewerObjects)
@@ -57,7 +58,6 @@ namespace DaSaSo.ViewModel
if (result != null) if (result != null)
break; break;
} }
return result; return result;
} }

View File

@@ -10,14 +10,18 @@ namespace DaSaSo.ViewModel.State.ActualState
{ {
public class ActualProject : IActualProject public class ActualProject : IActualProject
{ {
public Client AktuellClient { get; private set; } public Client? AktuellClient { get; private set; }
public Buildingsite AktuellBaustelle { get; private set; } public Buildingsite? AktuellBaustelle { get; private set; }
public Project AktuellProjekt { get; private set; } public Project? AktuellProjekt { get; private set; }
public SewerObject? AktuellSewerObject { get; private set; }
#region events #region events
public event EventHandler? ClientChanged; public event EventHandler? ClientChanged;
public event EventHandler? ProjectChanged; public event EventHandler? ProjectChanged;
public event EventHandler? BuildingSiteChanged; public event EventHandler? BuildingSiteChanged;
public event EventHandler? SewerObjectChanged;
protected void OnClientChanged() protected void OnClientChanged()
{ {
ClientChanged?.Invoke(this, new EventArgs()); ClientChanged?.Invoke(this, new EventArgs());
@@ -48,5 +52,22 @@ namespace DaSaSo.ViewModel.State.ActualState
AktuellBaustelle = buildingsite; AktuellBaustelle = buildingsite;
OnBuildingSiteChanged(); OnBuildingSiteChanged();
} }
public void SetSewerObject(SewerObject sewerObject)
{
AktuellSewerObject = sewerObject;
}
public void ResetProject()
{
SetProject(null);
ResetBuildingSite();
}
public void ResetBuildingSite()
{
SetBuildingSite(null);
}
} }
} }

View File

@@ -15,9 +15,11 @@ namespace DaSaSo.ViewModel.State.Navigation
get => _currentViewModel; get => _currentViewModel;
set set
{ {
_currentViewModel?.Dispose();
_currentViewModel = value; _currentViewModel = value;
OnPropertyChanged(); StateChanged?.Invoke();
} }
} }
public event Action StateChanged;
} }
} }

View File

@@ -27,8 +27,9 @@ namespace DaSaSo.ViewModel
public bool CanSelectBuildingSite { get => _actualProject.AktuellProjekt != null; } public bool CanSelectBuildingSite { get => _actualProject.AktuellProjekt != null; }
public bool CanSelectSewerObjects { get => _actualProject.AktuellBaustelle != null; } public bool CanSelectSewerObjects { get => _actualProject.AktuellBaustelle != null; }
public INavigator Navigator { get; set; } public INavigator _navigator { get; set; }
public ICommand UpdateCurrentViewModelCommand { get; } public ICommand UpdateCurrentViewModelCommand { get; }
public BaseViewModel CurrentViewModel => _navigator.CurrentViewModel;
public string ClientName public string ClientName
{ {
@@ -70,32 +71,43 @@ namespace DaSaSo.ViewModel
public MainWindowViewModel(INavigator navigator,IViewModelAbstractFactory viewModelFactory, IActualProject actualProject) public MainWindowViewModel(INavigator navigator,IViewModelAbstractFactory viewModelFactory, IActualProject actualProject)
{ {
this.Navigator = navigator; this._navigator = navigator;
this.viewModelFactory = viewModelFactory; this.viewModelFactory = viewModelFactory;
_navigator.StateChanged += _navigator_StateChanged;
UpdateCurrentViewModelCommand = new UpdateCurrentViewModelCommand(navigator, viewModelFactory); UpdateCurrentViewModelCommand = new UpdateCurrentViewModelCommand(navigator, viewModelFactory);
UpdateCurrentViewModelCommand.Execute(EViewType.Home); UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.Home);
_actualProject = actualProject; _actualProject = actualProject;
_actualProject.ClientChanged += _actualProject_ClientChanged; _actualProject.ClientChanged += _actualProject_ClientChanged;
_actualProject.ProjectChanged += _actualProject_ProjectChanged; _actualProject.ProjectChanged += _actualProject_ProjectChanged;
_actualProject.BuildingSiteChanged += _actualProject_BuildingSiteChanged; _actualProject.BuildingSiteChanged += _actualProject_BuildingSiteChanged;
} }
private void _navigator_StateChanged()
{
OnPropertyChanged(nameof(CurrentViewModel));
}
private void _actualProject_BuildingSiteChanged(object? sender, EventArgs e) private void _actualProject_BuildingSiteChanged(object? sender, EventArgs e)
{ {
Buildingsitename = _actualProject.AktuellBaustelle.BuildingSiteNumber; Buildingsitename = _actualProject.AktuellBaustelle.BuildingSiteNumber;
OnPropertyChanged(nameof(CanSelectSewerObjects)); OnPropertyChanged(nameof(CanSelectSewerObjects));
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.SewerObjects);
} }
private void _actualProject_ProjectChanged(object? sender, EventArgs e) private void _actualProject_ProjectChanged(object? sender, EventArgs e)
{ {
Projektname = _actualProject.AktuellProjekt.Name; Projektname = _actualProject.AktuellProjekt.Name;
OnPropertyChanged(nameof(CanSelectBuildingSite)); OnPropertyChanged(nameof(CanSelectBuildingSite));
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.Buildingsites);
} }
private void _actualProject_ClientChanged(object? sender, EventArgs e) private void _actualProject_ClientChanged(object? sender, EventArgs e)
{ {
ClientName = _actualProject.AktuellClient.Firstname; ClientName = _actualProject.AktuellClient.Firstname;
OnPropertyChanged(nameof(CanSelectProject)); OnPropertyChanged(nameof(CanSelectProject));
UpdateCurrentViewModelCommand.Execute(EMainWindowViewType.Projects);
} }
} }
} }

View File

@@ -40,6 +40,7 @@ namespace DaSaSo.Wpf
string connectionString = context.Configuration.GetConnectionString("default"); string connectionString = context.Configuration.GetConnectionString("default");
services.AddSingleton<DaSaSoDbContextFactory>(new DaSaSoDbContextFactory(connectionString)); services.AddSingleton<DaSaSoDbContextFactory>(new DaSaSoDbContextFactory(connectionString));
services.AddSingleton<IDataService<Client>, ClientDataService>(); services.AddSingleton<IDataService<Client>, ClientDataService>();
services.AddSingleton<IDataService<Project>, ProjectDataService>(); services.AddSingleton<IDataService<Project>, ProjectDataService>();
services.AddSingleton<IDataService<Buildingsite>, BuildingsiteDataService>(); services.AddSingleton<IDataService<Buildingsite>, BuildingsiteDataService>();
@@ -48,7 +49,7 @@ namespace DaSaSo.Wpf
services.AddSingleton<IViewModelAbstractFactory, ViewModelAbstractFactory>(); services.AddSingleton<IViewModelAbstractFactory, MainWindowViewModelFactory>();
services.AddSingleton<CreateViewModel<ClientEditViewModel>>(services => services.AddSingleton<CreateViewModel<ClientEditViewModel>>(services =>
{ {
return () => new ClientEditViewModel( return () => new ClientEditViewModel(
@@ -115,6 +116,9 @@ namespace DaSaSo.Wpf
MainWindow? window = new MainWindow() { DataContext = _host.Services.GetRequiredService<MainWindowViewModel>() }; MainWindow? window = new MainWindow() { DataContext = _host.Services.GetRequiredService<MainWindowViewModel>() };
window.Show(); window.Show();
base.OnStartup(e); base.OnStartup(e);
} }

View File

@@ -0,0 +1,29 @@
<UserControl x:Class="DaSaSo.Wpf.Controls.MainWindowNavigationBar"
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:DaSaSo.Wpf.Controls"
xmlns:nav="clr-namespace:DaSaSo.ViewModel.Enums;assembly=DaSaSo.ViewModel"
xmlns:viewmodel="clr-namespace:DaSaSo.ViewModel;assembly=DaSaSo.ViewModel"
xmlns:converters="clr-namespace:DaSaSo.Wpf.Converters"
d:DataContext="{d:DesignInstance Type=viewmodel:MainWindowViewModel}"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<UserControl.Resources>
<converters:EqualValueToParameterConverter x:Key="EqualValueToParameterConverter" />
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<RadioButton Grid.Row="0" IsChecked="{Binding CurrentViewModel, Mode=OneWay, Converter={StaticResource EqualValueToParameterConverter}, ConverterParameter={x:Type viewmodel:ClientListViewModel}}" Content="Kunden" Style="{StaticResource ToggleButtonList}" Command="{Binding UpdateCurrentViewModelCommand}" IsEnabled="True" CommandParameter="{x:Static nav:EMainWindowViewType.Clients}"/>
<RadioButton Grid.Row="1" IsChecked="{Binding CurrentViewModel, Mode=OneWay, Converter={StaticResource EqualValueToParameterConverter}, ConverterParameter={x:Type viewmodel:ProjectListViewModel}}" Content="Projekte" Style="{StaticResource ToggleButtonList}" Command="{Binding UpdateCurrentViewModelCommand}" IsEnabled="{Binding CanSelectProject}" CommandParameter="{x:Static nav:EMainWindowViewType.Projects}" />
<RadioButton Grid.Row="2" IsChecked="{Binding CurrentViewModel, Mode=OneWay, Converter={StaticResource EqualValueToParameterConverter}, ConverterParameter={x:Type viewmodel:BuildingsiteListViewModel}}" Content="Baustellen" Style="{StaticResource ToggleButtonList}" Command="{Binding UpdateCurrentViewModelCommand}" IsEnabled="{Binding CanSelectBuildingSite}" CommandParameter="{x:Static nav:EMainWindowViewType.Buildingsites}" />
<RadioButton Grid.Row="3" IsChecked="{Binding CurrentViewModel, Mode=OneWay, Converter={StaticResource EqualValueToParameterConverter}, ConverterParameter={x:Type viewmodel:SewerObjectListViewModel}}" Content="Objekten" Style="{StaticResource ToggleButtonList}" Command="{Binding UpdateCurrentViewModelCommand}" IsEnabled="{Binding CanSelectSewerObjects}" CommandParameter="{x:Static nav:EMainWindowViewType.SewerObjects}" />
</Grid>
</UserControl>

View File

@@ -18,9 +18,9 @@ namespace DaSaSo.Wpf.Controls
/// <summary> /// <summary>
/// Interaction logic for NavigationBar.xaml /// Interaction logic for NavigationBar.xaml
/// </summary> /// </summary>
public partial class NavigationBar : UserControl public partial class MainWindowNavigationBar : UserControl
{ {
public NavigationBar() public MainWindowNavigationBar()
{ {
InitializeComponent(); InitializeComponent();
} }

View File

@@ -1,22 +0,0 @@
<UserControl x:Class="DaSaSo.Wpf.Controls.NavigationBar"
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:DaSaSo.Wpf.Controls"
xmlns:nav="clr-namespace:DaSaSo.ViewModel.Enums;assembly=DaSaSo.ViewModel" xmlns:viewmodel="clr-namespace:DaSaSo.ViewModel;assembly=DaSaSo.ViewModel" d:DataContext="{d:DesignInstance Type=viewmodel:MainWindowViewModel}"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<RadioButton Grid.Row="0" Content="Kunden" Style="{StaticResource ToggleButtonList}" Command="{Binding UpdateCurrentViewModelCommand}" IsEnabled="True" CommandParameter="{x:Static nav:EViewType.Clients}" />
<RadioButton Grid.Row="1" Content="Projekte" Style="{StaticResource ToggleButtonList}" Command="{Binding UpdateCurrentViewModelCommand}" IsEnabled="{Binding CanSelectProject}" CommandParameter="{x:Static nav:EViewType.Projects}" />
<RadioButton Grid.Row="2" Content="Baustellen" Style="{StaticResource ToggleButtonList}" Command="{Binding UpdateCurrentViewModelCommand}" IsEnabled="{Binding CanSelectBuildingSite}" CommandParameter="{x:Static nav:EViewType.Buildingsites}" />
<RadioButton Grid.Row="3" Content="Objekten" Style="{StaticResource ToggleButtonList}" Command="{Binding UpdateCurrentViewModelCommand}" IsEnabled="{Binding CanSelectSewerObjects}" CommandParameter="{x:Static nav:EViewType.SewerObjects}" />
</Grid>
</UserControl>

View File

@@ -0,0 +1,16 @@
<UserControl x:Class="DaSaSo.Wpf.Controls.SewerObjectNavigationBar"
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:DaSaSo.Wpf.Controls"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="200">
<Grid>
<StackPanel>
<RadioButton Content="Stammdaten" Style="{StaticResource ToggleButtonList}" Margin="20" />
<RadioButton Content="Schäden" Style="{StaticResource ToggleButtonList}" Margin="20" />
</StackPanel>
</Grid>
</UserControl>

View File

@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace DaSaSo.Wpf.Controls
{
/// <summary>
/// Interaction logic for SewerObjectNavigationBar.xaml
/// </summary>
public partial class SewerObjectNavigationBar : UserControl
{
public SewerObjectNavigationBar()
{
InitializeComponent();
}
}
}

View File

@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;
namespace DaSaSo.Wpf.Converters
{
public class EqualValueToParameterConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return value.ToString() == parameter.ToString();
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}

View File

@@ -7,7 +7,10 @@
</ApplicationDefinition> </ApplicationDefinition>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Update="Controls\NavigationBar.xaml.cs"> <Compile Update="Controls\MainWindowNavigationBar.xaml.cs">
<SubType>Code</SubType>
</Compile>
<Compile Update="Controls\SewerObjectNavigationBar.xaml.cs">
<SubType>Code</SubType> <SubType>Code</SubType>
</Compile> </Compile>
<Compile Update="View\Buildingsites\BuildingSiteListView.xaml.cs"> <Compile Update="View\Buildingsites\BuildingSiteListView.xaml.cs">
@@ -28,9 +31,15 @@
<Compile Update="View\SewerObjecte\SewerObjecteListView.xaml.cs"> <Compile Update="View\SewerObjecte\SewerObjecteListView.xaml.cs">
<SubType>Code</SubType> <SubType>Code</SubType>
</Compile> </Compile>
<Compile Update="View\SewerObject\SewerMainView.xaml.cs">
<SubType>Code</SubType>
</Compile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Page Update="Controls\NavigationBar.xaml"> <Page Update="Controls\MainWindowNavigationBar.xaml">
<SubType>Designer</SubType>
</Page>
<Page Update="Controls\SewerObjectNavigationBar.xaml">
<SubType>Designer</SubType> <SubType>Designer</SubType>
</Page> </Page>
<Page Update="my_controls.xaml"> <Page Update="my_controls.xaml">
@@ -57,6 +66,9 @@
<Page Update="View\SewerObjecte\SewerObjecteListView.xaml"> <Page Update="View\SewerObjecte\SewerObjecteListView.xaml">
<SubType>Designer</SubType> <SubType>Designer</SubType>
</Page> </Page>
<Page Update="View\SewerObject\SewerMainView.xaml">
<SubType>Designer</SubType>
</Page>
<Page Update="Window\MainWindow.xaml"> <Page Update="Window\MainWindow.xaml">
<SubType>Designer</SubType> <SubType>Designer</SubType>
</Page> </Page>

View File

@@ -0,0 +1,15 @@
using DaSaSo.ViewModel.Interface;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace DaSaSo.Wpf.Service
{
class WindowService
{
}
}

View File

@@ -0,0 +1,24 @@
<UserControl x:Class="DaSaSo.Wpf.View.SewerObject.SewerMainView"
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:DaSaSo.Wpf.View.SewerObject" xmlns:Controls="clr-namespace:DaSaSo.Wpf.Controls"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<Controls:SewerObjectNavigationBar Grid.Column="0" />
<ContentControl Grid.Column="1" />
<StatusBar Grid.Row="1" Grid.ColumnSpan="2">
<StatusBarItem Content="Dada" />
</StatusBar>
</Grid>
</UserControl>

View File

@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace DaSaSo.Wpf.View.SewerObject
{
/// <summary>
/// Interaction logic for SewerMainView.xaml
/// </summary>
public partial class SewerMainView : UserControl
{
public SewerMainView()
{
InitializeComponent();
}
}
}

View File

@@ -33,7 +33,7 @@
</Style> </Style>
</TreeView.Resources> </TreeView.Resources>
</TreeView> </TreeView>
<Button Content="Bearbeiten" Command="{Binding Bearbeiten}" /> <Button Content="Bearbeiten" Name="bearbeiten" Command="{Binding Bearbeiten}" />
</StackPanel> </StackPanel>
</Grid> </Grid>
</UserControl> </UserControl>

View File

@@ -1,17 +1,5 @@
using System; using System.Windows;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls; using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace DaSaSo.Wpf.View.SewerObjecte namespace DaSaSo.Wpf.View.SewerObjecte
{ {

View File

@@ -11,7 +11,7 @@
xmlns:View="clr-namespace:DaSaSo.Wpf.View" xmlns:View="clr-namespace:DaSaSo.Wpf.View"
xmlns:local="clr-namespace:DaSaSo.Wpf" xmlns:viewmodel="clr-namespace:DaSaSo.ViewModel;assembly=DaSaSo.ViewModel" d:DataContext="{d:DesignInstance Type=viewmodel:MainWindowViewModel}" xmlns:local="clr-namespace:DaSaSo.Wpf" xmlns:viewmodel="clr-namespace:DaSaSo.ViewModel;assembly=DaSaSo.ViewModel" d:DataContext="{d:DesignInstance Type=viewmodel:MainWindowViewModel}"
mc:Ignorable="d" mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800"> Title="Cosysda Sanierungs Software" Height="450" Width="800" WindowState="Maximized">
<Window.Resources> <Window.Resources>
<DataTemplate DataType="{x:Type viewmodel:ClientListViewModel}"> <DataTemplate DataType="{x:Type viewmodel:ClientListViewModel}">
<ClientViews:ClientListView /> <ClientViews:ClientListView />
@@ -41,8 +41,8 @@
<RowDefinition /> <RowDefinition />
<RowDefinition Height="20" /> <RowDefinition Height="20" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<controls:NavigationBar Grid.Column="0" Grid.Row="0"/> <controls:MainWindowNavigationBar Grid.Column="0" Grid.Row="0"/>
<ContentControl Grid.Column="1" Grid.Row="0" Content="{Binding Navigator.CurrentViewModel}" /> <ContentControl Grid.Column="1" Grid.Row="0" Content="{Binding CurrentViewModel}" />
<StatusBar Grid.Row="1" Grid.ColumnSpan="2"> <StatusBar Grid.Row="1" Grid.ColumnSpan="2">
<StatusBarItem Content="{Binding ClientName}" /> <StatusBarItem Content="{Binding ClientName}" />
<StatusBarItem Content="{Binding Projektname}" /> <StatusBarItem Content="{Binding Projektname}" />