MainView.axaml 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  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:avalonia="clr-namespace:PRS.Avalonia"
  6. xmlns:dialogHostAvalonia="clr-namespace:DialogHostAvalonia;assembly=DialogHost.Avalonia"
  7. xmlns:positioners="clr-namespace:DialogHostAvalonia.Positioners;assembly=DialogHost.Avalonia"
  8. xmlns:components="clr-namespace:InABox.Avalonia.Components;assembly=InABox.Avalonia"
  9. xmlns:progRing="clr-namespace:AvaloniaProgressRing;assembly=AvaloniaProgressRing"
  10. mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
  11. x:Class="PRS.Avalonia.Modules.MainView"
  12. x:DataType="avalonia:MainViewModel">
  13. <dialogHostAvalonia:DialogHost CloseOnClickAway="True" DialogMargin="10">
  14. <dialogHostAvalonia:DialogHost.PopupPositioner>
  15. <positioners:AlignmentDialogPopupPositioner HorizontalAlignment="Center" VerticalAlignment="Center"
  16. Margin="20"/>
  17. </dialogHostAvalonia:DialogHost.PopupPositioner>
  18. <Grid Background="{StaticResource PrsSurfaceBackground}">
  19. <Grid.RowDefinitions>
  20. <RowDefinition Height="45" />
  21. <RowDefinition Height="*" />
  22. </Grid.RowDefinitions>
  23. <Grid
  24. Grid.Row="0"
  25. Grid.Column="0"
  26. Background="{StaticResource PrsMenuBackground}">
  27. <Grid.RowDefinitions>
  28. <RowDefinition Height="*" />
  29. </Grid.RowDefinitions>
  30. <Grid.ColumnDefinitions>
  31. <ColumnDefinition Width="Auto" />
  32. <ColumnDefinition Width="Auto" />
  33. <ColumnDefinition Width="*" />
  34. <ColumnDefinition Width="Auto" />
  35. <ColumnDefinition Width="Auto" />
  36. </Grid.ColumnDefinitions>
  37. <Button
  38. Grid.Row="0"
  39. Grid.Column="0"
  40. Margin="7,7,0,7"
  41. Classes="Transparent"
  42. HorizontalAlignment="Center"
  43. VerticalAlignment="Center"
  44. IsVisible="{Binding BackButtonVisible}"
  45. Command="{Binding BackButtonPressedCommand}">
  46. <Image>
  47. <Image.Source>
  48. <SvgImage Source="../Images/arrow_white_left.svg" />
  49. </Image.Source>
  50. </Image>
  51. </Button>
  52. <components:AvaloniaMenuPanel
  53. Grid.Row="0"
  54. Grid.Column="1"
  55. Items="{Binding SecondaryMenu}" />
  56. <Label
  57. Grid.Row="0"
  58. Grid.Column="2"
  59. Content="{Binding Title}"
  60. VerticalContentAlignment="Center"
  61. Margin="5,0,0,0"
  62. FontSize="{StaticResource PrsFontSizeLarge}"
  63. FontWeight="{StaticResource PrsFontWeightBold}"
  64. Foreground="{StaticResource PrsMainMenuForeground}" />
  65. <ItemsControl
  66. x:Name="NotificationsPanel"
  67. Grid.Row="0"
  68. Grid.Column="3"
  69. Classes="MenuPanel" />
  70. <components:AvaloniaMenuPanel
  71. Grid.Row="0"
  72. Grid.Column="4"
  73. Margin="0,0,5,0"
  74. Items="{Binding PrimaryMenu}" />
  75. </Grid>
  76. <TransitioningContentControl
  77. Grid.Row="1"
  78. Grid.Column="0"
  79. Margin="{StaticResource PrsControlSpacing}"
  80. Content="{Binding Content}"
  81. IsTransitionReversed="{Binding ReverseTransition}"
  82. TransitionCompleted="TransitioningContentControl_OnTransitionCompleted">
  83. <TransitioningContentControl.PageTransition>
  84. <!-- <CrossFade Duration="0:00:00.50"/> -->
  85. <PageSlide Orientation="Horizontal" Duration="0:00:00.500" />
  86. </TransitioningContentControl.PageTransition>
  87. </TransitioningContentControl>
  88. <progRing:ProgressRing Grid.Row="1" Grid.Column="0"
  89. Width="80" Height="80"
  90. IsActive="{Binding ProgressVisible}"
  91. Background="{StaticResource PrsMenuBackground}"
  92. CornerRadius="{StaticResource PrsCornerRadius}"
  93. Foreground="White"
  94. Padding="10"/>
  95. </Grid>
  96. </dialogHostAvalonia:DialogHost>
  97. </UserControl>