Files
eJay/View/MainView.xaml
2017-09-11 11:52:20 +02:00

135 lines
8.3 KiB
XML

<Window x:Class="DebtMgr.View.MainView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:converters="clr-namespace:DebtMgr.Converters"
mc:Ignorable="d"
Icon="../Content/icon.ico"
Title="Debt Manager" Height="600" Width="900">
<Window.Resources>
<converters:AmountToColorConverter x:Key="AmountToColorConverter" />
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<!-- #region Menu -->
<DockPanel Grid.Row="0">
<Menu DockPanel.Dock="Top">
<MenuItem Header="Menu">
<MenuItem Header="_Switch Database" Command="{Binding SwitchDatabaseMenuCommand}" />
</MenuItem>
</Menu>
</DockPanel>
<!-- #endregion -->
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"></ColumnDefinition>
<ColumnDefinition Width="3*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<!-- #region PersonListView -->
<Grid Grid.Column="0">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<Label Grid.Row="0" Content="Overview" FontWeight="Bold" FontSize="22" Margin="0 0 0 -5"></Label>
<TextBlock Grid.Row="1" FontSize="18" Margin="5 0 0 5">
<TextBlock Text="Overall Balance:"></TextBlock>
<TextBlock Text="{Binding OverallBalanceLabel}" Foreground="{Binding OverallBalanceLabel, Converter={StaticResource AmountToColorConverter}}"></TextBlock>
<TextBlock Text="€" Foreground="{Binding OverallBalanceLabel, Converter={StaticResource AmountToColorConverter}}"></TextBlock>
</TextBlock>
<ListView Name="PersonListView" Grid.Row="2" ItemsSource="{Binding PersonListViewItemSource}" SelectedItem="{Binding PersonListViewSelectedItem}">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding FirstName}" Width="100">
<GridViewColumnHeader Command="{Binding SortPersonListViewCommand}" CommandParameter="FirstName">First name</GridViewColumnHeader>
</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding LastName}" Width="100">
<GridViewColumnHeader Command="{Binding SortPersonListViewCommand}" CommandParameter="LastName">Last name</GridViewColumnHeader>
</GridViewColumn>
<GridViewColumn Width="80">
<GridViewColumnHeader Command="{Binding SortPersonListViewCommand}" CommandParameter="Total">Balance</GridViewColumnHeader>
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock TextAlignment="Right" Foreground="{Binding Total, Converter={StaticResource AmountToColorConverter}}" Text="{Binding Total, StringFormat='{}{0:N} €'}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
<ListBox.Resources>
<ContextMenu x:Key="PersonListViewContextMenu">
<MenuItem Header="Add charge" Command="{Binding AddChargeContextMenuCommand}" />
<MenuItem Header="Add deposit" Command="{Binding AddDepositContextMenuCommand}" />
<MenuItem Header="New Person" Command="{Binding NewPersonContextMenuCommand}" />
<MenuItem Header="Delete Person" Command="{Binding DeletePersonContextMenuCommand}" CommandParameter="{Binding Path=SelectedItem}" />
</ContextMenu>
</ListBox.Resources>
<ListBox.ContextMenu>
<StaticResource ResourceKey="PersonListViewContextMenu" />
</ListBox.ContextMenu>
</ListView>
</Grid>
<!-- #endregion -->
<Grid Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label Grid.Row="0" Content="{Binding DetailViewHeaderLabelContent}" FontWeight="Bold" FontSize="22" Margin="0 0 0 -5"></Label>
<TextBlock Grid.Row="1" FontSize="18" Margin="5 0 0 5">
<TextBlock Text="Balance:"></TextBlock>
<TextBlock Text="{Binding DetailViewBalanceLabel}" Foreground="{Binding DetailViewBalanceLabel, Converter={StaticResource AmountToColorConverter}}"></TextBlock>
<TextBlock Text="€" Foreground="{Binding DetailViewBalanceLabel, Converter={StaticResource AmountToColorConverter}}"></TextBlock>
</TextBlock>
<ListView Name="TransactionHistoryListView" Grid.Row="2" ItemsSource="{Binding TransactionHistoryListViewItemSource}" SelectedItem="{Binding TransactionHistoryListViewSelectedItem}" HorizontalContentAlignment="Stretch">
<ListView.View>
<GridView>
<GridView.ColumnHeaderContainerStyle>
<Style TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="IsEnabled" Value="False"/>
</Style>
</GridView.ColumnHeaderContainerStyle>
<GridViewColumn DisplayMemberBinding="{Binding Time, StringFormat='{}{0:MMM. yyyy}'}" Width="80" Header="Date" />
<GridViewColumn Width="80" Header="Amount">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock TextAlignment="Right" Foreground="{Binding SignedAmount, Converter={StaticResource AmountToColorConverter}}" Text="{Binding SignedAmount, StringFormat='{}{0:N} €'}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Description}" Width="Auto" Header="Description" />
</GridView>
</ListView.View>
<ListBox.Resources>
<ContextMenu x:Key="TransactionHistoryListViewContextMenu">
<MenuItem Header="Add charge" Command="{Binding AddChargeContextMenuCommand}" />
<MenuItem Header="Add deposit" Command="{Binding AddDepositContextMenuCommand}" />
<MenuItem Header="Delete Transaction" Command="{Binding DeleteTransactionContextMenuCommand}" CommandParameter="{Binding Path=SelectedItem}" />
</ContextMenu>
</ListBox.Resources>
<ListBox.ContextMenu>
<StaticResource ResourceKey="TransactionHistoryListViewContextMenu" />
</ListBox.ContextMenu>
</ListView>
</Grid>
</Grid>
</Grid>
</Window>