首页 > 解决方案 > Xamarin 表单:如何打开 Listview 中的所有开关?

问题描述

我在 Listview 中有一个开关。从 中选择一个选项时,我需要打开所有开关DisplayActionSheet。我该怎么做这个功能?

Xaml 代码:

<ListView 
    x:Name="UserList">
    <ListView.ItemTemplate>
        <DataTemplate>
            <ViewCell>
                <ViewCell.View>
                    <StackLayout
                        HorizontalOptions="FillAndExpand"
                        Orientation="Horizontal">
                        <Label 
                            Text="{Binding fullname}"
                            Font="11" 
                            TextColor="Black"
                            HorizontalOptions="Start" 
                            VerticalOptions="Center"/> 

                        <Switch 
                            HorizontalOptions="EndAndExpand"
                            VerticalOptions="CenterAndExpand"/>
                    </StackLayout>
                </ViewCell.View>
            </ViewCell>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

更新到尼基尔

添加IsToggled="{Binding IsSelected}"到开关并添加public bool IsSelected { get; set; }到模型中。但是里面添加的代码出错了DisplayActionSheet。截图添加如下:

在此处输入图像描述

标签: listviewxamarin.forms

解决方案


您可以在绑定 ListView 的模型中拥有一个名为 IsSelected 的 bool 属性。该模型应该实现 INotifyPropertyChanged。然后你可以绑定 IsToggled="{Binding IsSelected}"。

从 DisplayActionSheet 中选择该选项。

List ItemSource = ItemSource(x => {x. IsSelected = true; return x;}).ToList()

推荐阅读