在我的项目maui我想要一个助手,以检查复选框时,我选择一个项目从列表视图与多个选择。我的列表视图在xaml:
<ListView x:Name="listViewComande"
ItemSelected="listViewArticle_ItemSelected">
<ListView.Header >
</ListView.Header>
<ListView.ItemTemplate >
<DataTemplate >
<ViewCell >
<Grid RowDefinitions="Auto"
ColumnDefinitions="5*,20*,45*,10*,10*,10*"
Padding="3,10,3,10" ColumnSpacing="8">
<CheckBox Grid.Row="1" Grid.Column="0"
Color="LightGray"
x:Name="chekBoxListView" />
<Label Grid.Row="1" Grid.Column="2" Text="{Binding DesignationComande}" FontSize="13" VerticalTextAlignment="Center"
HorizontalTextAlignment="Start" MaxLines="1" FontAttributes="None"/>
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
public class ComandeTable
{
[PrimaryKey, AutoIncrement]
public int ID { get; set; }
public string ReferenceComande { get; set; }
public string DesignationComande { get; set; }
}
private void listViewArticle_ItemSelected(object sender, SelectedItemChangedEventArgs e)
{
if (e.SelectedItem != null)
{
}
}
字符串
我使用了一个bool变量,但它不起作用
3条答案
按热度按时间qoefvg9y1#
您的xaml演示了显示
DesignationComande
属性并在复选框更改时响应的意图(通过编程或用户交互)。这将需要ListView
中绑定到这些属性的项的模型。举例来说:
的数据
在xaml中完成绑定
在
DataTemplate
中绑定IsChecked
属性字符串
为
ListView
中的项目创建模型此功能需要
IsChecked
的可绑定属性为复选框触发PropertyChanged
事件。型
把它们粘在一起
在此示例中,MainPage的代码隐藏将
ListView
的ItemsSource
(您也可以在xaml中执行此操作)设置为CheckableCommand
的可观察集合,并订阅项目的PropertyChanged
通知。型
h7appiyu2#
我的理解是,当你在
listView
中选择一个项目时,你想检查一个Checkbox
。字符串
注意一件事,这里
ListView_ItemTapped
是ItemTapped
而不是ItemSelected
。f3temu5u3#
我建议创建两个视图模型:
我们可以将每个项目的
CheckedViewModel.OnPropertyChanged
订阅到父MainViewModel
,以便父视图模型在IsChecked
发生变化时得到通知,并根据需要重新计算SelectedItems
。在
MainPage.xaml.cs
中,我们实现了ListView_ItemTapped
来操作集合视图模型。