[英]Checkboxes inside a list view - Xamarin.Forms
我正在开发Xamarin.Forms应用程序。 我的要求是显示一个可用作Json的对象列表,并为每个列表项添加一个复选框,当选中该项目时,我想将该项目存储在单独的本地DB中以备将来使用。
这是我的项目模板。
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid VerticalOptions="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="3*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<controls:CheckBox x:Name="Completed" />
<Label x:Name="index"
HorizontalOptions="Center"
Text="{Binding index}"
Grid.Column="1"/>
<Label x:Name="title"
Text="{Binding title}"
Grid.Column="2" />
<Label x:Name="count"
HorizontalOptions="Center"
Text="{Binding count}"
Grid.Column="3" />
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
这是ListView
的项目源。
SurahNames.ItemsSource = viewModel.surahs;
我的问题是:
CheckBox
的布尔值? 您可以像这样绑定选定的项目
private object _selectedItem;
public object SelectedItem
{
get { return _selectedItem; }
set
{
cast to your model
YourModel val=(YourModel)value;
//checked is the new proprety that you added to ur model
val.Checked=true;
dosmthwithvalue(val);
//this to unselect the item in listview /remove color
_selectedItem = null;
OnPropertyChanged("SelectedItem");
}
}
对于CheckBox
您需要将选中的属性添加到模型中。
我没有测试过它,也许这不是最佳解决方案,但是我认为它会做您想要的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.