Xamarin.Forms ListVew数据触发器偶尔会失败

时间:2016-09-14 19:39:13

标签: xaml listview xamarin xamarin.forms datatrigger

我在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为真。它也并非总能发生,有时候它们都能正常工作。

enter image description here

tldr;预期:点击列表项,背景=灰色&amp;文本框出现&amp;显示x图标

实际:零星,有时只有背景=灰色&amp;没有文字框和没有x图标

任何想法?

0 个答案:

没有答案
相关问题