Событие, добавленное дочерним элементом CollectionView, не запускается - PullRequest
0 голосов
/ 10 июля 2020

Я использую Xamarin Forms и CollectionsView. Я добавляю дочерние строки Frame с помощью SignalR. Событие, добавленное дочерним элементом, не запускается после добавления нескольких дочерних элементов. Это ошибка или я делаю что-то не так? Я также пробовал использовать событие CollectionView_ChildAdded, которое также дает такое неожиданное поведение

        <CollectionView x:Name="ItemsListView"               
            ItemsSource="{Binding Items}" 
            VerticalOptions="FillAndExpand"
            SelectionMode="None"
            ItemsUpdatingScrollMode="KeepScrollOffset"  
            >
                <CollectionView.ItemTemplate>
                    <DataTemplate>
                        <Frame  x:Name="frame1" BackgroundColor="White" BorderColor="#F0F0F0" Padding="3" Margin="0,0,0,5" HasShadow="False"  CornerRadius="10" ChildAdded="frame1_ChildAdded">
                            <Grid HeightRequest="40" HorizontalOptions="FillAndExpand" VerticalOptions="Start">
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition Width="2*"/>
                                    <ColumnDefinition Width="2*" />
                                    <ColumnDefinition Width="6*" />
                                </Grid.ColumnDefinitions>
                                <Label Grid.Column="0" x:Name="lb_TicketNumber" Text="{Binding TicketNumber}" TextColor="Black" FontSize="Large" FontAttributes="Bold" VerticalOptions="Center" Margin="20,0" HorizontalTextAlignment="Center"  />
                                <Label Grid.Column="1" Text="{Binding DeskName}" TextColor="Black" FontSize="Large" FontAttributes="Bold" VerticalOptions="Center" HorizontalTextAlignment="Center"/>
                                <Label Grid.Column="2" Text="{Binding ServiceNameEng}" TextColor="Black" FontSize="Large" FontAttributes="Bold" VerticalOptions="Center" HorizontalTextAlignment="Center" />
                            </Grid>
                        </Frame>

                    </DataTemplate>
                    
                </CollectionView.ItemTemplate>
            
            </CollectionView>

ниже, событие перестает срабатывать через несколько раз.

 private void frame1_ChildAdded(object sender, ElementEventArgs e)
    {
        DisplayAlert("Item added", "OK", "OK");
    }
...