0

ある ListView を別の ListView にネストしようとしていますが、問題は、2 番目の ListView でウィンドウの幅をすべて使用して 3 つの同じサイズの列に分割する必要があることです。しかし、ご覧のとおり、それはできません....私はすでにすべてを試しましたが、どのように機能させることができるかについてのアイデアはありますか?

<Grid Background="Pink">
    <ListView x:Name="MainListView"
              ItemsSource="{x:Bind menu}"
              HorizontalAlignment="Stretch"
              Background="BlanchedAlmond"
              HorizontalContentAlignment="Stretch">
        <ListView.ItemTemplate>
            <DataTemplate x:DataType="data:MainCategories">
                <Grid Background="blue" HorizontalAlignment="Stretch" >
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="Auto" />
                    </Grid.RowDefinitions>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*" />
                    </Grid.ColumnDefinitions>
                    <TextBlock Text="{x:Bind CategoryName}"
                               HorizontalAlignment="Stretch"                                   
                               FontSize="25"                                   
                               Foreground="Yellow" />
                    <ListView x:Name="SubListView"
                              Grid.Row="1"
                              Background="YellowGreen"
                              HorizontalAlignment="Stretch"
                              HorizontalContentAlignment="Stretch"
                              ItemsSource="{x:Bind SubMenuItems}">
                        <ListView.ItemTemplate>
                            <DataTemplate x:DataType="data:Dishes">                                                                            
                                <Grid HorizontalAlignment="Stretch">
                                    <Grid.ColumnDefinitions>
                                        <ColumnDefinition Width="1*" />
                                        <ColumnDefinition Width="1*" />
                                        <ColumnDefinition Width="1*" />
                                    </Grid.ColumnDefinitions>
                                    <TextBlock Foreground="Red"
                                               Text="{x:Bind dishName}"
                                               Grid.Column="0"
                                               HorizontalAlignment="Center" />
                                    <TextBlock Foreground="Red"
                                               Grid.Column="1"
                                               HorizontalAlignment="Center"
                                               Text="{x:Bind dishPrice}" />
                                    <TextBlock Foreground="Red"
                                               Grid.Column="2"
                                               HorizontalAlignment="Center"
                                               Text="{x:Bind dishPrice}" />

                                </Grid>
                            </DataTemplate>
                        </ListView.ItemTemplate>
                    </ListView>
                </Grid>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
</Grid>

アプリのスクリーンショット

public void FillMenu()
    {
        menu.Add(new MainCategories() { CategoryName = "tittle1" });
        menu[0].SubMenuItems.Add(new Dishes() { dishName = "dish1", dishPrice = 1 });
        menu[0].SubMenuItems.Add(new Dishes() { dishName = "dish2", dishPrice = 11 });
        menu[0].SubMenuItems.Add(new Dishes() { dishName = "dish3dish3dish3", dishPrice = 12 });
        menu.Add(new MainCategories() { CategoryName = "tittle2" });
        menu[1].SubMenuItems.Add(new Dishes() { dishName = "dishab", dishPrice = 13 });
        menu[1].SubMenuItems.Add(new Dishes() { dishName = "sishro", dishPrice = 14 });
    }
4

1 に答える 1