Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как узнать индекс элемента ListView 
:(
    Опции темы
Raikkonen
Дата 26.3.2011, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 26.3.2011

Репутация: нет
Всего: нет



Имеется контрол ListView, содержащий одну колонку - имя кассира. Заполняю ListView при помощи коллекции, содержащей 2 параметра: Name и Id.

Код

KassirListView.DataContext = _KassirCollection;   



При щелчке по любой из строк ListView срабатывает событие 
private void CashierDelete(object sender, RoutedEventArgs e)
{
Вопрос: Как узнать по какой строке был сделан "Клик"?
}
Нашёл только CashierListView.SelectedIndex.ToString();
т.е. индекс выделенной строки.

По большому счёту мне нужен не индекс строки, а Id, соответствующий Name в коллекции. Но как его узнать по клику? Спасибо.

Xaml:
Код

<ListView  x:Name="CashierListView"
                                       Width="400"
                                       ItemsSource="{Binding}"
                                       SelectedItem="{Binding SelectedItem}">
                                <ListView.View>
                                    <GridView>
                                        <GridViewColumn Width="400">
                                            <GridViewColumn.CellTemplate>
                                                <DataTemplate>
                                                    <Grid>
                                                        <TextBlock Text="{Binding Name}"
                                                                   Style="{StaticResource GridBlockStyle}"
                                                                   MouseDown="CashierDelete"/>
                                                    </Grid>
                                                </DataTemplate>
                                            </GridViewColumn.CellTemplate>
                                            <GridViewColumnHeader Tag="Name"
                                                                  Content="Имя кассира" />
                                        </GridViewColumn>
                                    </GridView>
                                </ListView.View>
                            </ListView>



PM MAIL   Вверх
Brilona
Дата 28.3.2011, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 8.7.2008

Репутация: 2
Всего: 3



Попробуйте так:

Код

var selected = (CashierListView.SelectedItem as <ваш_тип>).Id;


PM MAIL ICQ   Вверх
wester
Дата 28.3.2011, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: нет
Всего: 13



Brilona, 
не знаю точно как в WPF, но такой код может возбудить NullReferenceException 

здесь как минимум надо еще проверить что каст удался прежде чем обращаться к проперти
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.1448 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.