我正在實作4 RadioButtons一個ListView row并將它們與模型屬性系結。問題是當用戶更改預設屬性和CheckedChanged event火災時,我如何才能了解row(Index)用戶更改了哪些屬性?
這是我的 ListView 實作。
<ListView x:Name ="personlist" ItemsSource="{Binding PersonList}" ItemSelected="personlist_ItemSelected" SelectionMode="Single">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid RowDefinitions="*" ColumnDefinitions="3*,*,*,*,*" BackgroundColor="{Binding RowColor}">
<Label Text="{Binding Name}" Grid.Row="0" Grid.Column="0" VerticalTextAlignment="Center" FontSize="20" TextColor="Black"/>
<RadioButton Value="Travel" IsChecked="{Binding Travel, Mode=TwoWay}" Grid.Row="0" Grid.Column="1" CheckedChanged="RadioButton_CheckedChanged"/>
<RadioButton Value="Reading" IsChecked="{Binding Reading, Mode=TwoWay}" Grid.Row="0" Grid.Column="2" CheckedChanged="RadioButton_CheckedChanged"/>
<RadioButton Value="Sports" IsChecked="{Binding Sports, Mode=TwoWay}" Grid.Row="0" Grid.Column="3" CheckedChanged="RadioButton_CheckedChanged"/>
<RadioButton Value="Dance" IsChecked="{Binding Dance, Mode=TwoWay}" Grid.Row="0" Grid.Column="4" CheckedChanged="RadioButton_CheckedChanged"/>
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
在 .xaml.cs 中
private void RadioButton_CheckedChanged(object sender, CheckedChangedEventArgs e)
{
// I want to get an index of the list item here.
}
有沒有辦法實作它?這種方式或其他方式。
提前致謝!
uj5u.com熱心網友回復:
使用 BindingContext
private void RadioButton_CheckedChanged(object sender, CheckedChangedEventArgs e)
{
var button = (RadioButton)sender;
var item = (MyClassName)button.BindingContext;
}
item 將是系結到該行的物件 ListView
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/417959.html
標籤:
