ContainerQueryPage.xaml 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <UserControl x:Class="ControlCatalog.Pages.ContainerQueryPage"
  2. xmlns="https://github.com/avaloniaui"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6. xmlns:viewModels="using:ControlCatalog.ViewModels"
  7. d:DesignHeight="800"
  8. d:DesignWidth="400"
  9. mc:Ignorable="d">
  10. <StackPanel Spacing="10">
  11. <StackPanel.Styles>
  12. <ContainerQuery Name="UniformGrid"
  13. Query="max-width:400">
  14. <Style Selector="UniformGrid#ContentGrid">
  15. <Setter Property="Columns"
  16. Value="1"/>
  17. </Style>
  18. </ContainerQuery>
  19. <ContainerQuery Name="UniformGrid"
  20. Query="min-width:400">
  21. <Style Selector="UniformGrid#ContentGrid">
  22. <Setter Property="Columns"
  23. Value="2"/>
  24. </Style>
  25. </ContainerQuery>
  26. <ContainerQuery Name="UniformGrid"
  27. Query="min-width:800">
  28. <Style Selector="UniformGrid#ContentGrid">
  29. <Setter Property="Columns"
  30. Value="3"/>
  31. </Style>
  32. </ContainerQuery>
  33. <ContainerQuery Name="UniformGrid"
  34. Query="min-width:1200">
  35. <Style Selector="UniformGrid#ContentGrid">
  36. <Setter Property="Columns"
  37. Value="4"/>
  38. </Style>
  39. </ContainerQuery>
  40. </StackPanel.Styles>
  41. <TextBlock Text="Dynamically change properties of controls based on the size of a parent container."/>
  42. <Border Container.Name="UniformGrid"
  43. VerticalAlignment="Stretch"
  44. HorizontalAlignment="Stretch"
  45. Container.Sizing="Width">
  46. <ScrollViewer VerticalScrollBarVisibility="Auto"
  47. HorizontalScrollBarVisibility="Disabled">
  48. <Grid RowDefinitions="Auto,*">
  49. <UniformGrid Name="ContentGrid">
  50. <Border Margin="10"
  51. HorizontalAlignment="Stretch"
  52. CornerRadius="20"
  53. ClipToBounds="True">
  54. <Image Stretch="Uniform"
  55. HorizontalAlignment="Stretch"
  56. Source="/Assets/image1.jpg"/>
  57. </Border>
  58. <Border Margin="10"
  59. HorizontalAlignment="Stretch"
  60. CornerRadius="20"
  61. ClipToBounds="True">
  62. <Image Stretch="Uniform"
  63. HorizontalAlignment="Stretch"
  64. Source="/Assets/image2.jpg"/>
  65. </Border>
  66. <Border Margin="10"
  67. HorizontalAlignment="Stretch"
  68. CornerRadius="20"
  69. ClipToBounds="True">
  70. <Image Stretch="Uniform"
  71. HorizontalAlignment="Stretch"
  72. Source="/Assets/image3.jpg"/>
  73. </Border>
  74. <Border Margin="10"
  75. HorizontalAlignment="Stretch"
  76. CornerRadius="20"
  77. ClipToBounds="True">
  78. <Image Stretch="Uniform"
  79. HorizontalAlignment="Stretch"
  80. Source="/Assets/image4.jpg"/>
  81. </Border>
  82. <Border Margin="10"
  83. HorizontalAlignment="Stretch"
  84. CornerRadius="20"
  85. ClipToBounds="True">
  86. <Image Stretch="Uniform"
  87. HorizontalAlignment="Stretch"
  88. Source="/Assets/image5.jpg"/>
  89. </Border>
  90. <Border Margin="10"
  91. HorizontalAlignment="Stretch"
  92. CornerRadius="20"
  93. ClipToBounds="True">
  94. <Image Stretch="Uniform"
  95. HorizontalAlignment="Stretch"
  96. Source="/Assets/image6.jpg"/>
  97. </Border>
  98. <Border HorizontalAlignment="Stretch"
  99. CornerRadius="20"
  100. ClipToBounds="True">
  101. <Image Stretch="Uniform"
  102. HorizontalAlignment="Stretch"
  103. Source="/Assets/image7.jpg"/>
  104. </Border>
  105. </UniformGrid>
  106. </Grid>
  107. </ScrollViewer>
  108. </Border>
  109. </StackPanel>
  110. </UserControl>