0
このコードで使用しているToggleボタンに何らかの並べ替えのリスナーを追加したいとします。複数のトグルボタン(リストビュー項目ごとに1つ)があるので、リスナーはそれがどの行に関連しているのかを指定する必要があります。私は本当にxamlでこれを行う良い方法を見つけることができません。誰かがここでおそらく助けることができる?私はリストをx:Nameで参照し、コードにアクセスして型キャストでトグルに到達しようとした後、ボタンにリスナーを追加します。それはかなりトリッキーです。どのようにこれを解決するためのアドバイス? Btw:名前はちょうどa、b、c、dで、私の顧客に関する詳細を隠すだけです。Xamarin.FormsのListviewでSwitchコントロールイベントを処理する
<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:me="clr-namespace:simpletest;assemby=simpletest" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="simpletest.WeekView">
<ContentPage.Content>
<StackLayout Spacing="10" Padding="8,10">
<StackLayout Orientation="Horizontal">
<Label Text="{Binding a}" FontSize="Large" FontAttributes="Bold" />
<Label Text="{Binding b}" FontSize="Large" FontAttributes="Bold" />
</StackLayout>
<me:HideableListView ItemsSource="{Binding c}" SeparatorVisibility="Default">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<StackLayout Grid.Row="0" Grid.Column="0">
<Label Text="{Binding d}" FontSize="Small" HorizontalOptions="Center" />
<Label Text="{Binding e}" FontSize="Small" HorizontalOptions="Center" />
</StackLayout>
<Switch IsToggled="{Binding f}" Toggled="{Binding g}" HorizontalOptions="Center" Grid.Row="0" Grid.Column="1" />
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</me:HideableListView>
</StackLayout>
</ContentPage.Content>
</ContentPage>