그래서 MVVM 라이트를 사용하여 UWP 응용 프로그램을 개발하고 ListView의 각 항목에 AppBarButton을 배치하고 싶습니다. 항목 템플릿 내 코드는 다음과 같습니다 :ListView DataTemplate의 MVVM AppBarButton
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="25"/>
<RowDefinition Height="25"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="40"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding title}" Grid.Column="0" HorizontalAlignment="Left" VerticalAlignment="Center"/>
<TextBlock Text="{Binding uniqueID}" Grid.Row="1" HorizontalAlignment="Left" VerticalAlignment="Center"/>
<StackPanel Grid.Column="1" Grid.RowSpan="2" Width="40" Padding="0,4">
<AppBarButton Icon="Delete" IsCompact="True" Background="Red" Width="39" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<ie:Interaction.Behaviors>
<ic:EventTriggerBehavior EventName="Click">
<ic:InvokeCommandAction Command="{Binding DataContext.DeleteItem, ElementName=page}" CommandParameter="{Binding}"/>
</ic:EventTriggerBehavior>
</ie:Interaction.Behaviors>
</AppBarButton>
</StackPanel>
</Grid>
</DataTemplate>
나는이 같은 이벤트 트리거 이전에 ListView를 내부 아니었다 페이지에서 다른 AppBarButton에 결합했고, 그것은 완벽하게 정상적으로 작동했다. 이전 명령을 설정 한 것과 같은 방식으로 참조 된 명령을 설정했습니다. 페이지에 대한 DataContext가 올바르게 설정되어 있고 다른 객체에 바인드하여 그 위치를 확인했습니다. 이 형식을 사용하여 참조 할 때 : Mvvm Light UWP Index Of Listitem When Button In ListItem Is Pressed
내 문제는 내가 아래 부분의 주석을 제거 할 때 Visual Studio에서 아래 오류가 발생한다는 것입니다.
<ie:Interaction.Behaviors>
<ic:EventTriggerBehavior EventName="Click">
<ic:InvokeCommandAction Command="{Binding DataContext.DeleteItem, ElementName=page}" CommandParameter="{Binding}"/>
</ic:EventTriggerBehavior>
</ie:Interaction.Behaviors>
컬렉션 속성 '__implicit_items는'null입니다.
아무도 내가 뭘 잘못하고 있는지 아이디어가 있습니까?
감사합니다.
은 BTW AppBarButton는 버튼에서 유래와 당신이 실제로 일한 상호 작용 –
없이 직접 명령을 결합 할 수 명령 속성이를 위해! 정말 고맙습니다. 내가 명령 매개 변수를 알아 내는데 필요한 것이라고 생각한 이유가 무엇인지 모르겠다 ... 답변으로 게시하면 해결책으로 표시 할 것입니다. –