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

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

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


Ответ
 
Опции темы
Старый 13.03.2016, 08:06   #1
NewLamer&Programer
Форумчанин
 
Регистрация: 23.11.2012
Сообщений: 428
По умолчанию Биндинг кнопки к выделенному элементу таблицы C# WPF XAML

на форме лежат кнопка и таблица, я хочу чтобы если в таблице не выделен ни один элемент то кнопка была бы не активна, написал конвертер, прибиндил, но что то не пашет
Код:
namespace Converters
{
    public class NotNegativeConverter : IValueConverter
    {
        private readonly object _value;

        public NotNegativeConverter()
        {

        }

        public NotNegativeConverter(object value)
        {
            _value = (int)value >= 0;
        }

        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            return (int)value >= 0;
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }
}
Код:
xmlns:converters="clr-namespace:Converters"

<Window.Resources>
	<converters:NotNegativeConverter x:Key="NotNegativeConverter"/>
</Window.Resources>

<Button Name="btDelete" Content="Delete" IsEnabled="{Binding dgClients.SelectedIndex, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}, Converter={StaticResource ResourceKey=NotNegativeConverter}}"/>

Последний раз редактировалось NewLamer&Programer; 13.03.2016 в 08:10.
NewLamer&Programer вне форума Ответить с цитированием
Старый 13.03.2016, 08:18   #2
NewLamer&Programer
Форумчанин
 
Регистрация: 23.11.2012
Сообщений: 428
По умолчанию

и еще для второй кнопки еще сложнее биндинг нужен, если это вообще возможно: в классе MainWindow (форма) объявлено публичное свойство-коллекция Clients, у каждого объекта Clients есть булевое свойство Presence, так вот если в таблице все таки выделен элемент то надо сделать чтобы IsEnabled кнопки присвоилось это самое свойство Presence взятое из Clients по выделенному индексу, а если не выделен то просто false, вот тут уже я даже не уверен реально ли это в xaml сделать или проще будет в C# такую логику описать...

Последний раз редактировалось NewLamer&Programer; 13.03.2016 в 08:29.
NewLamer&Programer вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вложенный биндинг MVVM WPF Egoist42 WPF, UWP, WinRT, XAML 0 29.08.2014 06:37
Из XAML в C# WPF TobyShow WPF, UWP, WinRT, XAML 0 13.12.2012 15:45
[WPF/XAML] Свойства зависимостей - обращение к элементу не дает результатов coNsept WPF, UWP, WinRT, XAML 2 11.03.2012 13:53
WPF - XAML sir.andrey Помощь студентам 0 26.10.2011 06:33
WPF. XAML BOBAH13 WPF, UWP, WinRT, XAML 4 07.02.2010 18:16


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840