MessageDialogView.axaml 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <UserControl xmlns="https://github.com/avaloniaui"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:dialogs="clr-namespace:InABox.Avalonia.Dialogs"
  6. mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
  7. x:Class="InABox.Avalonia.Dialogs.MessageDialogView"
  8. x:DataType="dialogs:MessageDialogViewModel"
  9. MinWidth="150">
  10. <UserControl.Resources>
  11. <DataTemplate x:Key="ButtonTemplate" DataType="dialogs:MessageDialogButton">
  12. <Button Classes="Standard"
  13. Content="{Binding Content}"
  14. Command="{Binding $parent[ItemsControl].((dialogs:MessageDialogViewModel)DataContext).ButtonClickCommand}"
  15. CommandParameter="{Binding}"/>
  16. </DataTemplate>
  17. </UserControl.Resources>
  18. <Grid>
  19. <Grid.RowDefinitions>
  20. <RowDefinition Height="*" MinHeight="100"/>
  21. <RowDefinition Height="Auto"/>
  22. </Grid.RowDefinitions>
  23. <Grid.ColumnDefinitions>
  24. <ColumnDefinition Width="*"/>
  25. </Grid.ColumnDefinitions>
  26. <TextBlock Text="{Binding Message}" Grid.Row="0"
  27. VerticalAlignment="Center" TextWrapping="Wrap" Margin="5"/>
  28. <Grid Grid.Row="1">
  29. <Grid.ColumnDefinitions>
  30. <ColumnDefinition Width="Auto"/>
  31. <ColumnDefinition Width="*"/>
  32. <ColumnDefinition Width="Auto"/>
  33. </Grid.ColumnDefinitions>
  34. <ItemsControl ItemsSource="{Binding LeftButtons}"
  35. ItemTemplate="{StaticResource ButtonTemplate}"
  36. Grid.Column="0">
  37. <ItemsControl.ItemsPanel>
  38. <ItemsPanelTemplate>
  39. <StackPanel Orientation="Horizontal"/>
  40. </ItemsPanelTemplate>
  41. </ItemsControl.ItemsPanel>
  42. </ItemsControl>
  43. <ItemsControl ItemsSource="{Binding RightButtons}"
  44. ItemTemplate="{StaticResource ButtonTemplate}"
  45. Grid.Column="2">
  46. <ItemsControl.ItemsPanel>
  47. <ItemsPanelTemplate>
  48. <StackPanel Orientation="Horizontal"/>
  49. </ItemsPanelTemplate>
  50. </ItemsControl.ItemsPanel>
  51. </ItemsControl>
  52. </Grid>
  53. </Grid>
  54. </UserControl>