Сетки XAML не работают, как ожидалось, представление списка не отображается - PullRequest
0 голосов
/ 27 мая 2020

Приведенный ниже код не работает, как я ожидал, в самом низу списка он вообще не отображается. Единственный способ отобразить нижнее представление списка - это удалить его из вложенной сетки и сделать его частью основной сетки, а затем он появится, если он появится в столбце 2. Когда оба представления списка являются частью в основной сетке все работает, пока она находится в отдельном столбце.

<RefreshView IsRefreshing="{Binding IsBusy, Mode=TwoWay}" Command="{Binding LoadItemsCommand}">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"/>
            <ColumnDefinition Width="200"/>
            <ColumnDefinition Width="200"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="Auto"/>
        </Grid.RowDefinitions>

        <StackLayout Grid.Row="0" Grid.Column="0" Spacing="0" Padding="0" Margin="0">
            <CollectionView x:Name="FeaturesCollectionView"
                    ItemsSource="{Binding Items}">
                <CollectionView.ItemTemplate>
                    <DataTemplate>
                        <StackLayout Padding="10" Margin="0" Spacing="0">
                            <Label Text="{Binding SubCategory}" 
                                    LineBreakMode="NoWrap"
                                    FontSize="16" 
                                    FontAttributes="Bold"
                                   Margin="0,0,0,0"/>
                            <Label Text="{Binding CellOption}" 
                                    LineBreakMode="NoWrap" 
                                    FontSize="13" 
                                   Margin="10,0,0,0"/>
                            <Label Text="{Binding ListPrice,StringFormat='List Price: {0:C}'}" 
                                    LineBreakMode="NoWrap"
                                    FontSize="13" 
                                   Margin="10,0,0,0"/>
                            <Label Text="{Binding AcmePrice,StringFormat='Acme Price: {0:C}'}"
                                    LineBreakMode="NoWrap"
                                    FontSize="13" 
                                   Margin="10,0,0,0"/>
                            <Label Text="{Binding ToolTip, StringFormat='Discription: \{0\}'}"
                                    LineBreakMode="NoWrap"
                                    FontSize="13" 
                                   Margin="10,0,0,0"/>
                            <StackLayout.GestureRecognizers>
                                <TapGestureRecognizer NumberOfTapsRequired="1" Tapped="OnItemSelected"></TapGestureRecognizer>
                            </StackLayout.GestureRecognizers>
                        </StackLayout>
                    </DataTemplate>
                </CollectionView.ItemTemplate>
            </CollectionView>
        </StackLayout>

        <StackLayout Grid.Row="0" Grid.Column="1" Margin="0" Padding="0" Spacing="0" VerticalOptions="FillAndExpand">
            <Grid Padding="0" Margin="0">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto"/>
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition Height="Auto"/>
                    <RowDefinition Height="Auto"/>
                </Grid.RowDefinitions>
                <StackLayout Grid.Row="0" Grid.Column="0" Margin="0" Padding="0" Spacing="0">
                    <Grid Padding="0" Margin="0">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto"/>
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto"/>
                            <RowDefinition Height="Auto"/>
                        </Grid.RowDefinitions>

                        <Label Text="Options to Add"
                               FontSize="16"
                               FontAttributes="Bold"
                               TextColor="Black"
                               Margin="0,10,0,0"
                               Padding="0"
                               Grid.Column="0"
                               Grid.Row="0"
                               LineBreakMode="TailTruncation"
                               VerticalTextAlignment="Start"/>

                        <ListView x:Name="ToAddListView"
                                  ItemsSource="{Binding ItemAddList}" 
                                  VerticalOptions="Start" 
                                  HasUnevenRows="True" 
                                  Margin="0"
                                  Grid.Row="1"
                                  Grid.Column="0"
                                  Grid.RowSpan="7">
                            <ListView.ItemTemplate>
                                <DataTemplate>
                                    <ViewCell IsEnabled="False">
                                        <StackLayout Padding="0" Margin="0" Spacing="0">
                                            <Label Text="{Binding ToAdd}" 
                                                   LineBreakMode="TailTruncation"
                                                   VerticalTextAlignment="Start"
                                                   FontSize="13" 
                                                   Margin="5,5,0,5">
                                                <Label.Triggers>
                                                    <DataTrigger TargetType="Label" Binding="{Binding Added}" Value="1">
                                                        <Setter Property="TextColor" Value="Green"/>
                                                    </DataTrigger>
                                                    <DataTrigger TargetType="Label" Binding="{Binding Added}" Value="0">
                                                        <Setter Property="TextColor" Value="Red"/>
                                                    </DataTrigger>
                                                </Label.Triggers>
                                            </Label>
                                        </StackLayout>
                                    </ViewCell>
                                </DataTemplate>
                            </ListView.ItemTemplate>
                        </ListView>
                    </Grid>
                </StackLayout>
                <StackLayout Grid.Row="1" Grid.Column="0" Margin="0" Padding="0" Spacing="0" VerticalOptions="FillAndExpand">
                    <Grid Padding="0" Margin="0">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto"/>
                        </Grid.ColumnDefinitions>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto"/>
                            <RowDefinition Height="Auto"/>
                        </Grid.RowDefinitions>

                        <Label Text="Optional Items"
                               FontSize="16"
                               FontAttributes="Bold"
                               TextColor="Black"
                               Margin="0,10,0,0"
                               Padding="0"
                               Grid.Column="0"
                               Grid.Row="0"
                               LineBreakMode="TailTruncation"
                               VerticalTextAlignment="Start"/>

                        <ListView x:Name="OptionalAddedListView"
                                  ItemsSource="{Binding OptionalList}" 
                                  VerticalOptions="Start" 
                                  HasUnevenRows="True" 
                                  Margin="0"
                                  Grid.Row="1"
                                  Grid.Column="0"
                                  Grid.RowSpan="14">
                            <ListView.ItemTemplate>
                                <DataTemplate>
                                    <ViewCell IsEnabled="False">
                                        <StackLayout Padding="0" Margin="0" Spacing="0">
                                            <Label Text="{Binding ToAdd}" 
                                                   LineBreakMode="TailTruncation"
                                                   VerticalTextAlignment="Start"
                                                   FontSize="13" 
                                                   Margin="5,5,0,5">
                                                <Label.Triggers>
                                                    <DataTrigger TargetType="Label" Binding="{Binding Added}" Value="1">
                                                        <Setter Property="TextColor" Value="Green"/>
                                                    </DataTrigger>
                                                    <DataTrigger TargetType="Label" Binding="{Binding Added}" Value="0">
                                                        <Setter Property="TextColor" Value="Red"/>
                                                    </DataTrigger>
                                                </Label.Triggers>
                                            </Label>
                                        </StackLayout>
                                    </ViewCell>
                                </DataTemplate>
                            </ListView.ItemTemplate>
                        </ListView>
                    </Grid>
                </StackLayout>
            </Grid>
        </StackLayout>
    </Grid>
</RefreshView>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...