169 похожих чатов

Привет. Когда устанавливаю источник данных во всяких listview, через itemsource,

то всевозможные привязки в элементах через setbinding работают без проблем. А вот когда я пытаюсь сделать это на странице с гридом, это почему-то не работает. Для примера есть две кнопки, по нажатию "кнопки 1" делаю ее isenabled=false и хочу чтобы одновременно с этим "кнопка 2" также стала isenabled=false, но это не работает. Вот код.

//Создание кнопки 1 с событием изменения isenabled по нажатию
Button button1 = new Button { Text = "Кнопка 1"};
button1.Clicked += (sender, e) => { button1.IsEnabled = false; };

//Создание кнопки 2 с привязкой isenabled к параметру первой кнопки
Button button2 = new Button { Text = "Кнопка 2" };
button2.SetBinding(IsEnabledProperty, new Binding { Source = button1, Path = "isEnabled" });

или

Button button2 = new Button { Text = "Кнопка 2" };
button2.SetBinding(IsEnabledProperty, "isEnabled");
button2.BindingContext = button1;

Подскажите пожалуйста, что не так с привязкой?

3 ответов

12 просмотров

IsEnabled у кнопок работает криво, если комманда задана. Лучше выставлять этот параметр именно у комманды, и это свойство автоматически кнопке присваивается и меняет её состояние

Димитрий-Кононенко Автор вопроса
Kirill Ashikhmin
IsEnabled у кнопок работает криво, если комманда з...

ясно,спасибо. как раз хотел не расписывать все изменения по нажатию вручную, если есть binding, но похоже придется )

Димитрий-Кононенко Автор вопроса
Kirill Ashikhmin
IsEnabled у кнопок работает криво, если комманда з...

кстати помогла вот эта статья с метанита https://metanit.com/sharp/xamarin/4.7.php с использованием вызова событий OnPropertyChanged изменения состояний и других параметров сразу отрабатываются и IsEnabled не исключение

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
Кибер Бомж
8
Карта сайта