Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 12.08.2010, 14:49   #1
Casper-SC
Участник клуба
 
Регистрация: 04.07.2007
Адрес: Россия
Сообщений: 549
Репутация: 134

icq: 438116304
По умолчанию [C# + WPF] ListView. Узнать выделена ли строка в нём. ListView.View == GridView.

Вот например в WinForms можно узнать так:
Код:

       private void listView_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
        {            
            if (e.IsSelected)
            {
                this.btnEdit.Enabled = true;
                this.btnCopy.Enabled = true;
                this.btnDelete.Enabled = true;
                this.btnTest.Enabled = true;
                this.lblClearInfoPanel.Visible = false;
            }
            else
            {
                this.btnEdit.Enabled = false;
                this.btnCopy.Enabled = false;
                this.btnDelete.Enabled = false;
                this.btnTest.Enabled = false;
                this.lblClearInfoPanel.Visible = true;
            }
        }

А как также делать кнопки неактивными в WPF? Я просто не знаю как узнать выделена ли хоть одна строка в ListView в данный момент. Если нет, то кнопки редактирования сделать неактивными.

Временно в WPF сделал так:
Код:

        private void listView_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (e.AddedItems.Count > 0)
            {
                this.btnChange.IsEnabled = true;
                this.btnCopy.IsEnabled = true;
                this.btnDelete.IsEnabled = true;
                this.btnTest.IsEnabled = true;
            }
            else
            {
                this.btnChange.IsEnabled = false;
                this.btnCopy.IsEnabled = false;
                this.btnDelete.IsEnabled = false;
                this.btnTest.IsEnabled = false;
            }
        }

Но это временно, так как по моему, если выделение снять с ListView, то кнопки активными всё равно останутся.
Casper-SC вне форума   Ответить с цитированием
Старый 12.08.2010, 16:15   #2
mrChester
Я
Участник клуба
 
Аватар для mrChester
 
Регистрация: 24.04.2010
Адрес: Уфа
Сообщений: 693
Репутация: 261

icq: 3170154
По умолчанию

this.listView1.SelectedItems.Count вместо e.AddedItems.Count попробуйте
mrChester вне форума   Ответить с цитированием
Старый 12.08.2010, 19:04   #3
Casper-SC
Участник клуба
 
Регистрация: 04.07.2007
Адрес: Россия
Сообщений: 549
Репутация: 134

icq: 438116304
По умолчанию

Цитата:
Сообщение от mrChester Посмотреть сообщение
this.listView1.SelectedItems.Count вместо e.AddedItems.Count попробуйте
Спасибо. В общем правильно, но так как код вставляю в событие, то сделал немного по другому:
if ((sender as System.Windows.Controls.ListView).S electedItems.Count > 0) { }
Casper-SC вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перетащить элемент ListView в другой ListView? Paul Hindenburg Компоненты Delphi 5 26.01.2013 11:35
Как узнать индексы выделенных итемов в ListView при OwnerData? 3D Hunter Общие вопросы Delphi 3 02.10.2009 10:24
Можно ли узнать количество видимых строк в ListView\ListBox? TwiX Общие вопросы Delphi 7 03.08.2009 13:03
Узнать количество итемов в ListView... TwiX Общие вопросы Delphi 10 02.08.2009 14:31
ListView Terran Общие вопросы Delphi 2 05.04.2008 23:15


10:56.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru