EventTriggerBehavior постучал не стреляя

1

Я использую MVVM-light для Pushpins на моей карте. Я привязал событие Tapped к команде в моей модели ViewModel. Однако событие не запускается. Все остальные команды и свойства прекрасно связываются. Я также попытался в качестве примера использовать регулярное событие, но оно также не срабатывало.

Моя команда в моей виртуальной машине

private RelayCommand<Check> _showDetailCheckCommand;
public RelayCommand<Check> ShowDetailCheckCommand
{
    get
    {
        Debug.WriteLine("Binded");
        return _showDetailCheckCommand ?? (_showDetailCheckCommand = new RelayCommand<Check>((c) =>
        {
            Debug.WriteLine("Action!");
        }));

    }
}

В моем XAML

<Page
    x:Name="pageRoot" 
...


<Maps:MapControl x:Name="Map" IsEnabled="False" Margin="0,8,0,8" MapServiceToken="******" LandmarksVisible="False" PedestrianFeaturesVisible="False" TrafficFlowVisible="True"  ZoomLevel="16">
    <!-- Incidents -->
    <Maps:MapItemsControl ItemsSource="{Binding checks}">
        <Maps:MapItemsControl.ItemTemplate>
            <DataTemplate>
                <Image Tag="{Binding}" Source="{Binding image_path}" Maps:MapControl.Location="{Binding geodata, Converter={StaticResource RoadsmartCoordinatesToGeoPointConverter}}" Maps:MapControl.NormalizedAnchorPoint=".5,.5" >
                    <interactivity:Interaction.Behaviors>
                        <core:EventTriggerBehavior EventName="Tapped">
                            <core:InvokeCommandAction Command="{Binding DataContext.ShowDetailCheckCommand, ElementName=pageRoot}" CommandParameter="{Binding}"  />
                        </core:EventTriggerBehavior>
                    </interactivity:Interaction.Behaviors>
                </Image>
            </DataTemplate>
        </Maps:MapItemsControl.ItemTemplate>
    </Maps:MapItemsControl>
</Maps:MapControl>

Мой журнал вывода говорит: "Binded". Но когда я нажимаю на изображение на карте, "Действие" не выполняется.

  • 0
    Это происходит из-за этого события вообще? Вы уверены, что это «Tapped», а не как Clicked, MouseLeftButtonDown и т. Д.? Это для RT? Я имею в виду, на первый взгляд это выглядит законно.
  • 0
    Windows Universal. Имя события - постучал, в элементе управления изображением нет события клика. Событие не запускается при обработке его в коде позади
Показать ещё 2 комментария
Теги:
xaml
mvvm
mvvm-light
behavior

1 ответ

1
Лучший ответ

Глупо обо мне. У меня было свойство isEnabled установлено false.

Это сбивает с толку, потому что все жесты карты работают, но ни один из привязанных элементов управления XAML поверх этого не работает.

Глупая ошибка, но тем не менее она может помочь людям.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню