Мой вопрос:MVVM Light UWP индекс ListItem Когда кнопка В ListItem нажимается
Я получил ListView, который имеет ItemTemplate; содержащий DataTemplate с некоторым AppBarButtons
в нем. Теперь, когда пользователь нажимает одну из кнопок в ListView, ListItem, который содержит кнопку, не выделяется. Эта проблема также приводит к тому, что я не знаю, как получить индекс списка, содержащий кнопку, которую пользователь нажал.
ListItem:
Код в Mainpage.xaml
:
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<!-- Simplified, Left out other AppBarButtons -->
<AppBarButton Foreground="White" VerticalAlignment="Center"
Label="Navigate" Icon="Map" >
<interactivity:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="Tapped">
<core:InvokeCommandAction Command="{Binding Main.OpenMapCommand, Mode=OneWay, Source={StaticResource Locator}}"></core:InvokeCommandAction>
</core:EventTriggerBehavior>
</interactivity:Interaction.Behaviors>
</AppBarButton>
</StackPanel>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
Команда:
public RelayCommand OpenMapCommand
{
get
{
return _openMapCommand
?? (_openPaneCommand = new RelayCommand(
() =>
{
Debug.WriteLine("Opening map");
// Center on New York City
var uriNewYork = new Uri(@"bingmaps:?cp=40.726966~-74.006076");
// Launch the Windows Maps app
var launcherOptions = new Windows.System.LauncherOptions();
launcherOptions.TargetApplicationPackageFamilyName = "Microsoft.WindowsMaps_8wekyb3d8bbwe";
var success = Windows.System.Launcher.LaunchUriAsync(uriNewYork, launcherOptions);
}));
}
}
Whatan Ответ на этот вопрос должен обеспечить:
- Как получить индекс ListItem который, содержащий AppBarButton, которая была нажата для использования в RelayCommand (быть в курсе ListItem не выбран, когда пользователь нажимает AppBarButton)