2017-09-21 2 views
1

Ich möchte Label klicken Befehlsbindung in einem ListView, In ListView habe ich ein Label. Wenn Sie auf dieses Label klicken, wechseln Sie zu einer anderen Seite.Xamarin Forms label click Befehlsbindung in einem ListView

Ich habe das versucht, aber nicht gut funktioniert. Irgendeine andere Lösung?

<Label Text="Message" FontSize="12" Grid.Column="3" HorizontalOptions="StartAndExpand" VerticalOptions="CenterAndExpand"> 
    <Label.GestureRecognizers> 
     <TapGestureRecognizer BindingContext="{Binding Source={x:Reference newsfeedlist}, Path=BindingContext}" Command="{Binding MessageCommand}" CommandParameter="{Binding Source={x:Reference Item}, Path=BindingContext}"/> 
    </Label.GestureRecognizers> 
</Label> 

Antwort

0

Eine Listenansicht hat ihren eigenen bindingContext, so dass die Seite am besten abgeglichen wird, dann der Befehl z.

  1. Zuerst Geben Sie Ihre Seite einen Namen

    <ContentPage 
        .... 
        x:Name="FooPage" 
        Title="Foo"> 
    
  2. dann in Ihrer Liste

      <ListView x:Name="EmployeeListData" ItemsSource="{Binding EmployeeList}"> 
           <ListView.ItemTemplate> 
            <DataTemplate> 
             <ViewCell> 
              <StackLayout Padding="5"><Label Text="Click Me"> 
               <Label.GestureRecognizers> 
                <TapGestureRecognizer Command="{Binding Path=BindingContext.EmployeeActions, Source={x:Reference FooPage}}" CommandParameter="{Binding .}"></TapGestureRecognizer> 
               </Label.GestureRecognizers> </Label> 
              </StackLayout> 
             </ViewCell> 
            </DataTemplate> 
           </ListView.ItemTemplate> 
          </ListView> 
    
  3. Hier ist die geheime Quelle

    Command = "{Binding Path = BindingContext.EmployeeActions, Quelle = {x: Reference FooPage}} "

Verwandte Themen