Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > WPF, UWP, WinRT, XAML
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2010, 14:49   #1
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию [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
По умолчанию

this.listView1.SelectedItems.Count вместо e.AddedItems.Count попробуйте
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©.
mrChester вне форума Ответить с цитированием
Старый 12.08.2010, 19:04   #3
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перетащить элемент 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