Added newControl and fixed DataGrid.

This commit is contained in:
alphafetus committed 2023-10-10 09:17:28 -04:00
1 parent 0e5be04b02
commit 8c53024d5c
17 files changed
+129 -91

No files matched your search

+1 -64
View File
@@ -6,68 +6,5 @@
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="PcgsInvUi.Views.CoinListView"
x:DataType="viewModels:CoinListViewModel">
<DockPanel>
<DockPanel DockPanel.Dock="Top">
<DataGrid x:Name="CollectionView"
HorizontalAlignment="Stretch"
VerticalAlignment="Top"
DockPanel.Dock="Top"
ItemsSource="{Binding CoinCollection}"
SelectedItem="{Binding SelectedCoin, Mode=TwoWay}"
AutoGenerateColumns="False"
CanUserResizeColumns="True" >
<DataGrid.Columns>
<DataGridTextColumn Header="Series" Width="*"
Binding="{Binding Series}"
IsReadOnly="True"/>
<DataGridTextColumn Header="Year"
Binding="{Binding Year}"
IsReadOnly="True"/>
<DataGridTextColumn Header="Mint" Width="*"
Binding="{Binding MintMark}"
IsReadOnly="True"/>
<DataGridTextColumn Header="Denomination" Width="*"
Binding="{Binding Denomination}"
IsReadOnly="True"/>
<DataGridTextColumn Header="Variety" Width="*"
Binding="{Binding MajorVariety}"
IsReadOnly="True"/>
<DataGridTextColumn Header="Grade" Width="*"
Binding="{Binding Grade}"
IsReadOnly="True"/>
<DataGridTextColumn Header="Designation" Width="*"
Binding="{Binding Designation}"
IsReadOnly="True"/>
<DataGridTextColumn Header="Est. Price" Width="*"
Binding="{Binding PriceGuideValue}"
IsReadOnly="False"/>
<DataGridTextColumn Header="PCGS #" Width="*"
Binding="{Binding PcgsNumber}"
IsReadOnly="True"/>
<DataGridTextColumn Header="Quantity" Width="*"
Binding="{Binding Quantity}"
IsReadOnly="False"/>
<DataGridTextColumn Header="Total Price" Width="*"
Binding="{Binding TotalPrice}"
IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
</DockPanel>
<DockPanel DockPanel.Dock="Bottom">
<Grid HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="5" ColumnDefinitions="Auto, Auto, Auto, Auto" DockPanel.Dock="Left">
<Button Grid.Column="0" Margin="5" Width="100" HorizontalContentAlignment="Center" Content="New..."
Command="{Binding $parent[Window].((viewModels:MainWindowViewModel)DataContext).AddItem}"/>
<Button Grid.Column="1" Margin="5" Width="100" HorizontalContentAlignment="Center" Content="Edit..."
Command="{Binding $parent[Window].((viewModels:MainWindowViewModel)DataContext).EditItem}"/>
<Button Grid.Column="2" Margin="5" Width="100" HorizontalContentAlignment="Center" Content="Delete"
Command="{Binding $parent[Window].((viewModels:MainWindowViewModel)DataContext).DeleteItem}"/>
<Button Grid.Column="3" Margin="5" Width="100" HorizontalContentAlignment="Center" Content="Find..."
Command="{Binding $parent[Window].((viewModels:MainWindowViewModel)DataContext).FindItem}"/>
</Grid>
<Grid HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="5" ColumnDefinitions="Auto, Auto" DockPanel.Dock="Right">
<Label Grid.Column="0" Margin="5" VerticalAlignment="Center" Content="{Binding TotalValue, StringFormat='Total Value: ${0:0.00}'}" />
<Button Grid.Column="1" Margin="5" Width="150" HorizontalContentAlignment="Center" Content="Export to CSV..." />
</Grid>
</DockPanel>
</DockPanel>
</UserControl>
+64 -3
View File
@@ -6,10 +6,71 @@
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="PcgsInvUi.Views.MainWindow" x:DataType="viewModels:MainWindowViewModel"
Title="MainWindow">
<SplitView Name="Sidebar">
<SplitView IsPaneOpen="{Binding PaneOpen}"
DisplayMode="Overlay"
PanePlacement="Right">
<SplitView.Pane>
<UserControl Content="{Binding SidebarContent}"/>
<UserControl VerticalAlignment="Center" Content="{Binding SidebarContent}"/>
</SplitView.Pane>
<UserControl Content="{Binding MainContent}"/>
<Grid RowDefinitions="*, Auto" ShowGridLines="True">
<DataGrid Grid.Row="0" HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
ItemsSource="{Binding CoinCollection}"
SelectedItem="{Binding SelectedCoin, Mode=TwoWay}"
AutoGenerateColumns="False"
CanUserResizeColumns="True">
<DataGrid.Columns>
<DataGridTextColumn Header="Series" Width="*"
Binding="{Binding Series}"
IsReadOnly="True"/>
<DataGridTextColumn Header="Year"
Binding="{Binding Year}"
IsReadOnly="True"/>
<DataGridTextColumn Header="Mint" Width="*"
Binding="{Binding MintMark}"
IsReadOnly="True"/>
<DataGridTextColumn Header="Denomination" Width="*"
Binding="{Binding Denomination}"
IsReadOnly="True"/>
<DataGridTextColumn Header="Variety" Width="*"
Binding="{Binding MajorVariety}"
IsReadOnly="True"/>
<DataGridTextColumn Header="Grade" Width="*"
Binding="{Binding Grade}"
IsReadOnly="True"/>
<DataGridTextColumn Header="Designation" Width="*"
Binding="{Binding Designation}"
IsReadOnly="True"/>
<DataGridTextColumn Header="Est. Price" Width="*"
Binding="{Binding PriceGuideValue}"
IsReadOnly="False"/>
<DataGridTextColumn Header="PCGS #" Width="*"
Binding="{Binding PcgsNumber}"
IsReadOnly="True"/>
<DataGridTextColumn Header="Quantity" Width="*"
Binding="{Binding Quantity}"
IsReadOnly="False"/>
<DataGridTextColumn Header="Total Price" Width="*"
Binding="{Binding TotalPrice}"
IsReadOnly="True" />
</DataGrid.Columns>
</DataGrid>
<DockPanel Grid.Row="1">
<Grid HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="5" ColumnDefinitions="Auto, Auto, Auto, Auto" DockPanel.Dock="Left">
<Button Grid.Column="0" Margin="5" Width="100" HorizontalContentAlignment="Center" Content="New..."
Command="{Binding AddItem}"/>
<Button Grid.Column="1" Margin="5" Width="100" HorizontalContentAlignment="Center" Content="Edit..."
Command="{Binding EditItem}"/>
<Button Grid.Column="2" Margin="5" Width="100" HorizontalContentAlignment="Center" Content="Delete"
Command="{Binding DeleteItem}"/>
<Button Grid.Column="3" Margin="5" Width="100" HorizontalContentAlignment="Center" Content="Find..."
Command="{Binding FindItem}"/>
</Grid>
<Grid HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="5" ColumnDefinitions="Auto, Auto" DockPanel.Dock="Right">
<Label Grid.Column="0" Margin="5" VerticalAlignment="Center" Content="{Binding TotalValue, StringFormat='Total Value: ${0:0.00}'}" />
<Button Grid.Column="1" Margin="5" Width="150" HorizontalContentAlignment="Center" Content="Export to CSV..." />
</Grid>
</DockPanel>
</Grid>
</SplitView>
</Window>
+4 -2
View File
@@ -1,10 +1,12 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
using Avalonia.ReactiveUI;
using PcgsInvUi.ViewModels;
namespace PcgsInvUi.Views;
public partial class MainWindow : Window
public partial class MainWindow : ReactiveWindow<MainWindowViewModel>
{
// TODO New window.
// TODO Edit window.
@@ -20,7 +22,7 @@ public partial class MainWindow : Window
// TODO API request tracker (1000 per day)
// TODO API update schedules (per month? manual override? needs to store a date of last update in the coin object)
public MainWindow()
{
InitializeComponent();
+1 -1
View File
@@ -10,7 +10,7 @@
<Label Grid.Column="0" Grid.Row="0" Margin="5, 5, 20, 5" VerticalAlignment="Center" Content="PCGS #:"/>
<TextBox Grid.Column="1" Grid.Row="0" Margin="5, 5, 10, 5" Text="{Binding PcgsNumber}"/>
<Label Grid.Column="0" Grid.Row="1" Margin="5, 5, 20, 5" VerticalAlignment="Center" Content="Grade:"/>
<ComboBox Name="GradeChoices" Grid.Column="1" Grid.Row="1" SelectedIndex="0" Margin="5, 5, 10, 5"
<ComboBox Name="GradeChoices" Grid.Column="1" Grid.Row="1" SelectedIndex="0" Margin="5, 5, 10, 5" Width="150"
ItemsSource="{Binding GradesList}" SelectedItem="{Binding Grade}"/>
<Label Grid.Column="0" Grid.Row="2" Margin="5, 5, 20, 5" VerticalAlignment="Center" Content="Quantity:"/>
<TextBox Grid.Column="1" Grid.Row="2" Margin="5, 5, 10, 5" Text="{Binding Quantity}"/>