我在xaml中有一个ListView
由自定义ViewCell
组成。简化版本如下:
<ListView x:Name="myList" ItemTapped="myItemTapped" ItemsSource="{Binding myList}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout>
<StackLayout Orientation="Horizontal">
<Label Text="Quantity" TextColor="White"/>
<Entry x:Name="QuantityEntry" BackgroundColor="White"/>
<StackLayout.Triggers>
<DataTrigger TargetType="StackLayout" Binding="{Binding IsActive}" Value="True">
<Setter Property="IsVisible" Value="True"/>
</DataTrigger>
</StackLayout.Triggers>
</StackLayout>
<StackLayout.Triggers>
<DataTrigger TargetType="StackLayout" Binding="{Binding IsActive}" Value="True">
<Setter Property="BackgroundColor" Value="Gray"/>
</DataTrigger>
</StackLayout.Triggers>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
IsActive
是触发css更改的列表Item的属性。 myItemTapped()
是一个设置项目点按IsActive = true
。
偶尔没有可识别的模式,有时列表中的一个或两个项目不会显示Entry
文本框,但其背景css将更改为灰色且其属性IsActive
为真。它也并非总能发生,有时候它们都能正常工作。
tldr;预期:点击列表项,背景=灰色&amp;文本框出现&amp;显示x图标
实际:零星,有时只有背景=灰色&amp;没有文字框和没有x图标
任何想法?