Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- User Class
- public class User {
- [PrimaryKey, AutoIncrement]
- public int Id { get; set; }
- public string Name { get; set; }
- public string Email { get; set; }
- public string Address { get; set; }
- public override string ToString() {
- return $"{Name}";
- }
- public User() { }
- }
- }
- MainWindowsVM
- public List<User> Users { get; set; }
- public ICommand OpenDialogCommand { get; set; }
- public ICommand CloseCommand { get; set; }
- public ICommand MinimizeCommand { get; set; }
- public ICommand MaximizeCommand { get; set; }
- public MainWindowViewModel() {
- Users = new List<User>();
- OpenDialogCommand = new OpenDialogCommand(this);
- CloseCommand = new CloseCommand(this);
- MinimizeCommand = new MinimizeCommand(this);
- MaximizeCommand = new MaximizeCommand(this);
- }
- internal void OpenDialog() {
- var dialog = new InputDialog();
- dialog.ShowDialog();
- Users = Operation.Read();
- }
- internal void Close(object obj) {
- Window win = obj as Window;
- win.Close();
- }
- internal void Maximize(object obj) {
- Window win = obj as Window;
- x++;
- win.WindowState = WindowState.Maximized;
- if (x % 2 == 0) {
- win.WindowState = WindowState.Normal;
- }
- }
- internal void Minimize(object obj) {
- Window win = obj as Window;
- win.WindowState = WindowState.Minimized;
- }
- }
- InputDialogMV
- public User User { get; set; }
- public CloseDialogCommand CloseDialogCommand { get; set; }
- public SaveCommand SaveCommand { get; set; }
- public InputViewModel() {
- SaveCommand = new SaveCommand(this);
- CloseDialogCommand = new CloseDialogCommand(this);
- User = new User();
- }
- internal void CloseDialog(Window window) {
- window.Close();
- Operation.Read();
- }
- internal void Save(Window window) {
- Operation.Insert(User);
- window.Close();
- }
- main XAML
- <Window.Resources>
- <vm:MainWindowViewModel x:Key="vm" />
- </Window.Resources>
- <Grid DataContext="{StaticResource vm}">
- <Grid.RowDefinitions>
- <RowDefinition Height="auto" />
- <RowDefinition Height="auto" />
- <RowDefinition Height="*" />
- </Grid.RowDefinitions>
- <Border x:Name="WindowCommandBar"
- Background="Transparent"
- MouseDown="WindowCommandBar_MouseDown">
- <Grid>
- <materialDesign:ColorZone Mode="PrimaryDark">
- <StackPanel HorizontalAlignment="Right">
- <Button materialDesign:ShadowAssist.ShadowDepth="Depth4"
- Width="30"
- Height="30"
- Padding="0"
- Command="{Binding CloseCommand}"
- CommandParameter="{Binding ElementName=Main}">
- <materialDesign:PackIcon Kind="WindowClose" />
- </Button>
- </StackPanel>
- </materialDesign:ColorZone>
- </Grid>
- </Border>
- <StackPanel Margin="10"
- Orientation="Horizontal"
- Grid.Row="1">
- <Button materialDesign:ShadowAssist.ShadowDepth="Depth4"
- Width="30"
- Height="30"
- Padding="0"
- Command="{Binding OpenDialogCommand}">
- <materialDesign:PackIcon Kind="UserAdd" />
- </Button>
- <Button materialDesign:ShadowAssist.ShadowDepth="Depth4"
- Margin="20,0,0,0"
- Height="30"
- Width="100"
- Padding="0"
- Content="Send Invoice"
- >
- </Button>
- </StackPanel>
- <Grid Margin="0,50,0,0" Grid.Row="2">
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="auto" />
- <ColumnDefinition Width="*" />
- </Grid.ColumnDefinitions>
- <ListView ItemsSource="{Binding Users}">
- </ListView>
- <Grid Grid.Column="2">
- <Grid.RowDefinitions>
- <RowDefinition Height="auto" />
- <RowDefinition Height="auto" />
- <RowDefinition Height="auto" />
- </Grid.RowDefinitions>
- <StackPanel Margin="10"
- Grid.Column="1"
- Orientation="Horizontal">
- <materialDesign:PackIcon Kind="UserBox"
- VerticalAlignment="Center" />
- <TextBlock Text="Name"
- VerticalAlignment="Center" />
- </StackPanel>
- <StackPanel Margin="10"
- Grid.Column="1"
- Grid.Row="1"
- Orientation="Horizontal">
- <materialDesign:PackIcon Kind="Email"
- VerticalAlignment="Center" />
- <TextBlock Text="Email"
- VerticalAlignment="Center" />
- </StackPanel>
- <StackPanel Margin="10"
- Grid.Column="1"
- Grid.Row="2"
- Orientation="Horizontal">
- <materialDesign:PackIcon Kind="Home"
- VerticalAlignment="Center" />
- <TextBlock Text="Adress"
- VerticalAlignment="Center" />
- </StackPanel>
- </Grid>
- </Grid>
- </Grid>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement