2016-11-17 7 views
1

Я создаю приложение WPF с использованием MVVMLight. я определил ListView внутри TabControl DataTemplate, например, так:Добавление EventTrigger в ListView внутри результатов DataTemplate в XamlParseException

<TabControl.ContentTemplate> 
    <DataTemplate> 
     <ListView ItemsSource="{Binding Builds}" 
      ScrollViewer.HorizontalScrollBarVisibility="Disabled" 
      SelectedItem="{Binding SelectedBuild, 
            Mode=TwoWay}" 
      SelectionMode="Single"> 
      <i:Interaction.Triggers> 
       <i:EventTrigger EventName="MouseDoubleClick"> 
        <i:InvokeCommandAction Command="{Binding BuildSelectedCommand}"/> 
       </i:EventTrigger> 
      </i:Interaction.Triggers> 
     </ListView> 
    </DataTemplate> 
</TabControl.ContentTemplate> 

но XAML Designer возвращает эту ошибку (предотвращает загрузку дизайнера предварительного просмотра):

XamlObjectWriterException: Collection property 'System.Windows.Controls.ListView'.'Triggers' is null. 
at System.Xaml.XamlObjectWriter.WriteGetObject() 
at System.Xaml.XamlWriter.WriteNode(XamlReader reader) 
at System.Windows.FrameworkTemplate.LoadTemplateXaml(XamlReader templateReader, XamlObjectWriter currentWriter) 

моя команда определяется как и в мой ViewModel:

private RelayCommand _buildSelectedCommand; 
public RelayCommand BuildSelectedCommand => _buildSelectedCommand ?? 
     (_buildSelectedCommand = new RelayCommand(BuildSelectedAction)); 

Это первый раз, когда я вижу эту ошибку, и это происходит только во время разработки, здание и время работы все в порядке. Извлечение i: Interaction.Triggers устраняет проблему, но мне нужно событие DoubleClick в списке.

Если вы спросите, почему я не добавил триггер на уровне ListItem, это связано с тем, что мне нужно установить свойство в ViewModel, привязав к табуляции TableControl DataTemplate, а не ListItem ViewModel.

Большое спасибо за помощь!

ответ

1

Я просто подтвердил, что это ошибка Visual Studio 2015, она не воспроизводится в Visual Studio 2017 RC.

 Смежные вопросы

  • Нет связанных вопросов^_^