如何避免在ListView创建时触发Checkbox CheckedChanged事件?

时间:2019-08-09 12:35:38

标签: xamarin.forms

我有一个包含CheckBox的简单XAML ListView(这是一个简单的ToDo检查列表功能)。

该列表显示正常,但是首次显示该列表时会触发CheckBox CheckedChanged事件。我猜是正确的,因为CheckBox IsChecked值是由数据绑定设置的,但是这不是预期的/预期的。

代码中的行为正确吗?

我该怎么做才能防止这种情况发生?另外,如果/当我刷新列表时。

<ListView ItemsSource="{Binding}" ItemTapped="OnEditStory" SeparatorVisibility="None"> 
    <ListView.ItemTemplate>
        <DataTemplate>
            <ViewCell>
                <StackLayout BackgroundColor="#eee" Orientation="Vertical">
                    <StackLayout Orientation="Horizontal">
                        <Label Text="{Binding Name}"
                            TextColor="#f35e20" />
                        <Label Text="{Binding Number}"                             
                            TextColor="#503026" />
                        <CheckBox IsChecked="{Binding IsClosed}" CheckedChanged="OnCheckBoxCheckedChanged" HorizontalOptions="EndAndExpand"/>
                    </StackLayout>
                </StackLayout>
            </ViewCell>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

我希望仅当我/用户实际在GUI中更改值(即选中或取消选中CheckBox)时,才触发CheckedChange事件。

0 个答案:

没有答案