xamarin 表单从按钮单击捕获列表视图
Posted
技术标签:
【中文标题】xamarin 表单从按钮单击捕获列表视图【英文标题】:xamarin forms capture listview from button click 【发布时间】:2020-07-26 11:08:07 【问题描述】:我下面的代码显示了一个列表视图,当单击“请播放您的订单”按钮时,函数 ButtonPressed(object sender, EventArgs e) 被点击。如何从 ButtonPressed 函数中捕获整个列表视图...
我尝试过类似的东西
void ButtonPressed(object sender, EventArgs e)
var listView = (ListView)sender;//but this did not work
<ContentPage.Content>
<StackLayout>
<ListView ItemsSource="Binding CompletedList" HasUnevenRows="True" SeparatorVisibility="None">
<ListView.Header>
<Button Text="Please place your order" Clicked="ButtonPressed"/>
</ListView.Header>
<ListView.Footer>
<Label x:Name="Items" HorizontalTextAlignment="End" VerticalTextAlignment="Start" Margin="20,20" FontAttributes="Bold"/>
</ListView.Footer>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid Padding="10" RowSpacing="10" ColumnSpacing="10">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Text="Binding I_D" VerticalOptions="End" IsVisible="False"/>
<Label Grid.Column="2" Grid.Row="1" Text="Binding NameOfProduct" VerticalOptions="End"/>
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
</ContentPage.Content>
</ContentPage>
【问题讨论】:
你的 ListView 绑定到 CompletedList,所以你真的只需要访问那个变量,而不是 ListView 本身。如果您确实需要访问 ListView 本身,只需为其指定一个名称并以这种方式引用它。 是的,但是我找不到正确的语法,例如它是 e.CompletedList 吗?,这是行不通的 不,它不会作为参数传递给处理程序。这取决于它是定义为页面上的属性还是 VM 上的属性等。您的 BindingContext 是如何设置的? 啊,是的,好吧...我从 listView 的 BindingContext 中得到它。再次感谢杰森,如果您想要标记的答案,请将其写下来并打勾。干杯 【参考方案1】:你的ListView
绑定到CompletedList
,所以你真的只需要访问那个变量,而不是ListView
本身。
【讨论】:
以上是关于xamarin 表单从按钮单击捕获列表视图的主要内容,如果未能解决你的问题,请参考以下文章
在主屏幕小部件的列表视图上方添加一个按钮 - 如何捕获单击此按钮?
如何在 xamarin 表单的集合视图中的最后一项旁边添加图像/按钮?