0
<ScrollViewer VerticalScrollBarVisibility="Auto">
<ListBox x:Name="RootListView" ItemsSource="{Binding Ratings}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid ShowGridLines="True">
<Grid.RowDefinitions>
<RowDefinition Height="auto" />
<RowDefinition Height="auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="40" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
.... Some TextBoxes with Labels are here to fill the grid .....
<Button Grid.Row="4" Grid.Column="1" Content="Delete"
Command="{Binding ElementName=RootListView, Path=DataContext.DeleteRatingCommand}"
CommandParameter="{Binding ElementName=RootListView, Path=SelectedItem}">
</Button>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</ScrollViewer>
어디 Ratings
을 반환하지 않는 명령 매개 변수로 전달됩니다.WPF의 selectedItem 내보기 모델의 값을
이보기 (정보가 포함 된 그리드)의 전체 모음집이 있으며, 모두 삭제 단추가 있습니다. 해당 등급의 버튼을 누르면 SelectedItem
속성이있는보기 모델에 등급 객체를 보내려고합니다. 바인드 된 메서드가 호출되었지만 SelectedItem 매개 변수 (특히 null
값)는 전달 된 것이 없습니다. 이 경우 적절하게 SelectedItem
을 사용하여 삭제할 등급에 대한 정보를보기 모델에 보내려면 어떻게해야합니까? 다른 가능성이 있습니까? 이 방법이 올바른지 확실하지 않습니다.
그건 내가 생각한 것입니다. 당신은'CommandParameter = "{Binding}"' – yoger