StackPanel
はアイテムを並べていくコントロールです(デフォルトでは下に並んでいきます)
Hidden
ではそれぞれの位置は変わらずに表示だけ消えます。
Collapsed
にするとそのアイテムがなかったように詰められます。
xamlをいじらないのであれば、VBコードのHidden
をCollapsed
に変えてください。
VBコードをいじらないのであれば、xamlのStackPanel
をGrid
に変えてください(VerticalAlignment
等をいじる必要があるかもしれません)
StackPanel
やGrid
の違いや特性は、レイアウトの基本ですのでしっかり確認しておいてください。
パネルの概要 - WPF .NET Framework | Microsoft Docs
xml
1<Window
2 x:Class="Questions363405.MainWindow"
3 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
4 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
5 Width="800"
6 Height="450">
7 <Window.Resources>
8 <BitmapImage x:Key="image1" UriSource="https://teratail-v2.storage.googleapis.com/uploads/avatars/u13/132786/KnkDDC5A_thumbnail.jpg" />
9 <BitmapImage x:Key="image2" UriSource="https://teratail-v2.storage.googleapis.com/uploads/avatars/u6/61616/KsOkZfql_thumbnail.jpg" />
10 </Window.Resources>
11 <Grid>
12 <Grid.ColumnDefinitions>
13 <ColumnDefinition />
14 <ColumnDefinition />
15 <ColumnDefinition />
16 <ColumnDefinition />
17 <ColumnDefinition />
18 </Grid.ColumnDefinitions>
19
20 <!-- StackPanelは(デフォルトでは)縦に並んでいる -->
21 <StackPanel>
22 <Image Source="{StaticResource image1}" />
23 <Image Source="{StaticResource image2}" />
24 </StackPanel>
25
26 <!-- Hiddenは隙間が空く -->
27 <StackPanel Grid.Column="1">
28 <Image Source="{StaticResource image1}" Visibility="Hidden" />
29 <Image Source="{StaticResource image2}" />
30 </StackPanel>
31
32 <!-- Collapsedは詰められる -->
33 <StackPanel Grid.Column="2">
34 <Image Source="{StaticResource image1}" Visibility="Collapsed" />
35 <Image Source="{StaticResource image2}" />
36 </StackPanel>
37
38 <!-- Gridは何もしなければ重なる -->
39 <Grid Grid.Column="3" VerticalAlignment="Top">
40 <Image Source="{StaticResource image1}" />
41 <Image Source="{StaticResource image2}" />
42 </Grid>
43
44 <!-- 重なっているのでHiddenでもよい(サイズが違う場合はHidden・Collapsedの意味が違うことに注意) -->
45 <Grid Grid.Column="4" VerticalAlignment="Top">
46 <Image Source="{StaticResource image1}" />
47 <Image Source="{StaticResource image2}" Visibility="Hidden" />
48 </Grid>
49 </Grid>
50</Window>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/09 02:46