UWP C#Toggleswitch inside Listview-单击Toggleswitch时如何获取行项目
所以我有一个带有on开关的列表视图。我想做的是触发一个事件,比如UWP C#Toggleswitch inside Listview-单击Toggleswitch时如何获取行项目,c#,listview,uwp,toggleswitch,C#,Listview,Uwp,Toggleswitch,所以我有一个带有on开关的列表视图。我想做的是触发一个事件,比如ItemClick=“event\u Overview\u Teams\u ItemClick” 但是 Toggled=“TeamPresent\u Toggled” 并处理诸如单击行的TeamID之类的项目 <ListView x:Name="Event_Overview_Teams" HorizontalAlignment="Center" Width="1787" Margin="0,48,0,10" IsItemCli
ItemClick=“event\u Overview\u Teams\u ItemClick”
但是
Toggled=“TeamPresent\u Toggled”
并处理诸如单击行的TeamID之类的项目
<ListView x:Name="Event_Overview_Teams" HorizontalAlignment="Center" Width="1787" Margin="0,48,0,10" IsItemClickEnabled="True" ItemClick="Event_Overview_Teams_ItemClick" SelectionMode="None">
<ListView.ItemTemplate>
<DataTemplate>
<Grid Width="900">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock x:Name="TeamName" Grid.Column="0" Text="{Binding TeamName}" TextWrapping="Wrap" />
<TextBlock x:Name="TeamID" Grid.Column="1" Text="{Binding TeamID}" TextWrapping="Wrap" />
<TextBlock x:Name="TeamNumber" Grid.Column="2" Text="{Binding TeamNumber}" TextWrapping="Wrap" />
<TextBlock x:Name="TeamClass" Grid.Column="3" Text="{Binding TeamClass}" TextWrapping="Wrap" />
<TextBlock x:Name="DeliverTime" Grid.Column="4" Text="{Binding DeliverTime}" TextWrapping="Wrap" />
<!--<TextBlock x:Name="TeamPresent" Grid.Column="5" Text="{Binding TeamPresent}" TextWrapping="Wrap" />-->
<ToggleSwitch x:Name="TeamPresent" Grid.Column="5" IsOn="{Binding TeamPresent}" Toggled="TeamPresent_Toggled"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
非常感谢您当您触发TeamPresent\u Toggled事件时,您可以通过获取ToggleSwitch的数据上下文来获取与当前项绑定的viewmodel。然后从您获得的viewmodel更改属性(例如TeamID)
private void TeamPresent_Toggled(object sender, RoutedEventArgs e)
{
var toggle = (ToggleSwitch)sender;
var dataContext = toggle.DataContext;
MyViewModel dataItem = (MyViewModel)dataContext;
dataItem.TeamID = "MyNewTeamId";
......
}