c# – 跨多个网格的WPF Grid.IsSharedSizeScope

前端之家收集整理的这篇文章主要介绍了c# – 跨多个网格的WPF Grid.IsSharedSizeScope前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一种情况,我有多个网格中的按钮,并要求所有按钮的大小相同.我试图使用Grid.IsSharedSizeScope但是没有成功.

最终布局应如下图所示,但所有按钮的大小应相同.

XAML目前看起来像这样.有谁看到我哪里出错了?

  1. <UserControl x:Class="UserControls.UserControl2"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. mc:Ignorable="d"
  7. d:DesignHeight="300" d:DesignWidth="300">
  8. <Grid Grid.IsSharedSizeScope="True">
  9. <Grid.RowDefinitions>
  10. <RowDefinition Height="Auto" />
  11. <RowDefinition Height="Auto" />
  12. </Grid.RowDefinitions>
  13. <Grid.ColumnDefinitions>
  14. <ColumnDefinition Width="Auto" />
  15. </Grid.ColumnDefinitions>
  16. <GroupBox Grid.Row="0" Grid.Column="0" Header="Header 1" Grid.IsSharedSizeScope="True">
  17. <Grid Grid.IsSharedSizeScope="True">
  18. <Grid.RowDefinitions>
  19. <RowDefinition Height="Auto" />
  20. </Grid.RowDefinitions>
  21. <Grid.ColumnDefinitions>
  22. <ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
  23. <ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
  24. <ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
  25. </Grid.ColumnDefinitions>
  26. <Button Content="A" Grid.Row="0" Grid.Column="0" Margin="2" />
  27. <Button Content="B" Grid.Row="0" Grid.Column="1" Margin="2" />
  28. <Button Content="C" Grid.Row="0" Grid.Column="2" Margin="2" />
  29. </Grid>
  30. </GroupBox>
  31. <GroupBox Grid.Row="1" Grid.Column="0" Header="Header 2" Grid.IsSharedSizeScope="True">
  32. <Grid Grid.IsSharedSizeScope="True">
  33. <Grid.RowDefinitions>
  34. <RowDefinition Height="Auto" />
  35. </Grid.RowDefinitions>
  36. <Grid.ColumnDefinitions>
  37. <ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
  38. <ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
  39. </Grid.ColumnDefinitions>
  40. <Button Content="AA" Grid.Row="0" Grid.Column="0" Margin="2" />
  41. <Button Content="BB" Grid.Row="0" Grid.Column="1" Margin="2" />
  42. </Grid>
  43. </GroupBox>
  44. </Grid>

@R_301_323@

仅将Grid.IsSharedSizeScope应用于顶级容器.参考下面的代码.
  1. <Grid Grid.IsSharedSizeScope="True">
  2. <Grid.RowDefinitions>
  3. <RowDefinition Height="Auto" />
  4. <RowDefinition Height="Auto" />
  5. </Grid.RowDefinitions>
  6. <Grid.ColumnDefinitions>
  7. <ColumnDefinition Width="Auto" />
  8. </Grid.ColumnDefinitions>
  9. <GroupBox Grid.Row="0" Grid.Column="0" Header="Header 1" >
  10. <Grid >
  11. <Grid.RowDefinitions>
  12. <RowDefinition Height="Auto" />
  13. </Grid.RowDefinitions>
  14. <Grid.ColumnDefinitions>
  15. <ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
  16. <ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
  17. <ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
  18. </Grid.ColumnDefinitions>
  19. <Button Content="A" Grid.Row="0" Grid.Column="0" Margin="2" />
  20. <Button Content="B" Grid.Row="0" Grid.Column="1" Margin="2" />
  21. <Button Content="C" Grid.Row="0" Grid.Column="2" Margin="2" />
  22. </Grid>
  23. </GroupBox>
  24. <GroupBox Grid.Row="1" Grid.Column="0" Header="Header 2" >
  25. <Grid >
  26. <Grid.RowDefinitions>
  27. <RowDefinition Height="Auto" />
  28. </Grid.RowDefinitions>
  29. <Grid.ColumnDefinitions>
  30. <ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
  31. <ColumnDefinition Width="Auto" SharedSizeGroup="Button" />
  32. </Grid.ColumnDefinitions>
  33. <Button Content="AA" Grid.Row="0" Grid.Column="0" Margin="2" />
  34. <Button Content="BB" Grid.Row="0" Grid.Column="1" Margin="2" />
  35. </Grid>
  36. </GroupBox>
  37. </Grid>

猜你在找的C#相关文章