В моем WPF проекте я использую ItemsControl для отображения элементов и удаление/перемещение вверх/вниз их:не удается получить доступ к DataContext параметр в ObservableCollection в ItemsControl
<ItemsControl ItemsSource="{Binding TestList, Mode=OneWay}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
...
<TextBox IsReadOnly="True" Text="{Binding Path=Value , Mode=OneWay}" />
<Button Content"Remove" Click="RemoveClick" />
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
private ObservableCollection<KeyValuePair<int, string>> TestList;
private void RemoveClick(object sender, RoutedEventArgs e)
{
var removebutton = sender as Button;
if (removebutton != null)
{
var test = removebutton.DataContext.ToString(); // That works
// var test removebutton.DataContext.Key;
}
}
Я хочу, чтобы получить индекс (ключ), выбранного ObservableCollection TestL ist item.
removebutton.DataContext.ToString();
отлично работает, я получаю строку с ключом и значением.
Но мне нужен только ключ, и это не работает: removebutton.DataContext.Key;
(Ошибка: не удается разрешить символ «Ключ»).
Если я отладки, я могу получить доступ к ключу:
Вы пытались лить DataContext в KeyValuePair? – Jawahar