2

複数のリスト ボックスを並べて表示する必要がありますが、一度にいくつ表示されるかわかりません。これを Web サイトとして行っていましたが、デスクトップ ソリューションに移行することにしたため、Web サイトからレイアウトを再作成する必要があります。

これは私が持ちたいものです: ここに画像の説明を入力

これは私がWPFで今持っているものです ここに画像の説明を入力

これは私の現在の XAML ファイルです。

<Grid>
    <StackPanel Height="auto" Width="auto">
        <StackPanel Orientation="Horizontal">
            <WrapPanel Orientation="Horizontal">
                <ListBox ItemsSource="{Binding BoardMarker.Events}" Height="auto" Width="auto" Padding="-6,-3,0,-5">
                    <ListBox.ItemTemplate>
                        <HierarchicalDataTemplate>
                            <StackPanel>
                                <Label Foreground="White" FontWeight="Bold" Content="{Binding Name}" >
                                    <Label.Background>
                                        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                                            <GradientStop Color="Black" Offset="0"/>
                                            <GradientStop Color="#FF7A7A7A" Offset="1"/>
                                        </LinearGradientBrush>
                                    </Label.Background>
                                </Label>
                                <ListBox ItemsSource="{Binding Markets}" Padding="-6,-5,-6,-10">
                                    <ListBox.ItemTemplate>
                                        <HierarchicalDataTemplate>
                                            <StackPanel Width="auto">
                                                <Grid MinWidth="120" Background="DodgerBlue">
                                                    <Grid.ColumnDefinitions>
                                                        <ColumnDefinition Width="55*"/>
                                                        <ColumnDefinition Width="45*"/>
                                                    </Grid.ColumnDefinitions>
                                                    <Label Content="{Binding Name}" HorizontalAlignment="left" FontSize="8" Padding="0,2" Foreground="White" FontWeight="Bold"/>
                                                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Background="DodgerBlue" Margin="0,0,2,0" Grid.Column="1">
                                                        <Label Content="{Binding NumberOfRunners}" FontSize="7" ClipToBounds="False" SnapsToDevicePixels="True" Padding="0,2" Foreground="White" FontWeight="Bold"/>
                                                        <Label HorizontalAlignment="Right"  Content="Run - " FontSize="7" Padding="0,2" Foreground="White" FontWeight="Bold"/>
                                                        <Label Content="{Binding NumberOfNonRunners}" FontSize="7" Padding="0,2" Foreground="White" FontWeight="Bold"/>
                                                        <Label Content="NR" FontSize="7" Padding="0,2" Foreground="White" FontWeight="Bold"/>
                                                    </StackPanel>
                                                </Grid>

                                                <ListBox ItemsSource="{Binding Selections}" Width="auto" Padding="-2">
                                                    <ListBox.ItemTemplate>
                                                        <HierarchicalDataTemplate>
                                                            <Grid Width="auto" MinWidth="120" Margin="-2">
                                                                <Grid.ColumnDefinitions>
                                                                    <ColumnDefinition Width="10*"/>
                                                                    <ColumnDefinition Width="70*"/>
                                                                    <ColumnDefinition Width="15*"/>
                                                                    <ColumnDefinition Width="15*"/>
                                                                </Grid.ColumnDefinitions>
                                                                <Label Content="{Binding Number}" FontSize="7" Padding="2"/>
                                                                <Label Content="{Binding Name}" FontSize="7" Padding="2" Grid.Column="1" />
                                                                <Label Content="{Binding CurrentPrice}" FontSize="7" Padding="2" HorizontalAlignment="Right" Grid.Column="2"/>
                                                                <Label Foreground="DarkGray" Content="{Binding OpeningPrice}" FontSize="7" Padding="2" HorizontalAlignment="Right" Grid.Column="3"/>
                                                            </Grid>
                                                        </HierarchicalDataTemplate>
                                                    </ListBox.ItemTemplate>
                                                </ListBox>
                                            </StackPanel>
                                        </HierarchicalDataTemplate>
                                    </ListBox.ItemTemplate>
                                </ListBox>
                            </StackPanel>
                        </HierarchicalDataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>
            </WrapPanel>
        </StackPanel>
    </StackPanel>
</Grid>
4

1 に答える 1

0

内側の StackPanel の向きはデフォルトで垂直です。水平に設定します。左 - >右、次の行に実行する場合は、水平方向の WrapPanel を検討することをお勧めします。

于 2013-10-16T09:46:33.863 に答える