我正在做一个显示服务列表视图的应用程序,如果我选择一个,它将触发此方法。
public void ListView_ItemTapped(object sender, ItemTappedEventArgs e)
{
var vm = BindingContext as ServicosMenu;
var ser = e.Item as Rota;
vm.HideOrShowService(ser);
}
所以事情是,这将显示一个按钮调用Details(详细信息),该按钮会将我重定向到我选择的服务的详细信息视图。问题是我不知道如何将选中的项目绑定到下一个视图。
示例:想象一下,今天您有2个服务,选择其中一项,它会显示按钮详细信息,您触摸该按钮后便会重定向到此页面:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:ser="clr-namespace:AppQ4evo.Services"
x:Class="AppQ4evo.Views.Detalhes">
<ContentPage.BindingContext>
<ser:ServicosMenu/>
</ContentPage.BindingContext>
<StackLayout Spacing="10" Margin="10,10" >
<Label Text="Detalhes do Cliente selecionado" FontSize="Large" TextColor="Black" Font="bold"/>
<ListView x:Name="details"
ItemsSource="{Binding OneSer }"
HasUnevenRows="True"
Margin="10,30">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>.....
使用上面显示的xaml代码,我从我的observableCollection ListSer中获得了2个服务的详细信息,仅安装了我触摸以查看详细信息的一项。
是否有任何想法可以显示我选择的列表视图中一项的详细信息?
感谢您的帮助!
EDIT1:
The details button:
private async Task Button_Clicked_DetalhesAsync(object sender, ItemTappedEventArgs e)
{
await Navigation.PushAsync(new Detalhes());
}
详细信息
EDIT2
这是详细信息的类和视图:
班级:
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class Detalhes : ContentPage
{
public ObservableCollection<Rota> Rote { get; set; }
public Detalhes (Rota det)
{
Rote = new ObservableCollection<Rota>();
Rote.Add(det);
// details.ItemsSource = Rote; this was a try did not work too
InitializeComponent();
}
查看:
<ListView x:Name="details"
SelectedItem="{Binding Path=Rote}"
HasUnevenRows="True"
Margin="10,30">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>...
您可以看到这有什么问题吗?