Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
30 / 47 / 19
Регистрация: 23.10.2014
Сообщений: 1,001
1

Биндинг триггера к свойству формы

01.04.2016, 22:52. Показов 2552. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Такой код:
XML
1
2
3
4
5
6
7
8
9
10
11
<Button Content="Connect" Grid.Row="1" Grid.Column="9" Click="btConnect_Click">
    <Button.Style>
        <Style>
            <Style.Triggers>
                <Trigger Property="{Binding Path=IsConnected, Mode=OneWay, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}}" Value="true">
                    <Setter Property="Button.Content" Value="Disconnect"/>
                </Trigger>
            </Style.Triggers>
        </Style>
    </Button.Style>
</Button>
Такая ошибка: "Binding" нельзя задать в свойстве "Property" типа "Trigger". "Binding" можно задать только в параметре DependencyProperty объекта DependencyObject.

Как сделать правильно?

P.S. Если не понятно я хочу чтобы когда IsConnected == true было написано на кнопке "Connect", а когда IsConnected == false, то на кнопке написано "Disconnect".
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2016, 22:52
Ответы с готовыми решениями:

Биндинг к свойству
Мне надо прибиндиться к свойству класса, которое меняю не я (внутри класса меняется)....

Биндинг к статическому свойству
возможно ли прибиндиться к статическому свойству класса?...

Не срабатывает биндинг к свойству в MainViewModel
Удалил всё ненужное, самые детали оставил: &lt;Application x:Class=&quot;Wpf_CareerPattern.App&quot;...

Прямой биндинг к свойству класса
Тема очень заезжена, но перепробовав все предложенные гуглом варианты привязка не срабатывает.....

5
Заблокирован
02.04.2016, 00:45 2
Dark Byte, так вам нужен триггер данных:

http://metanit.com/sharp/wpf/10.2.php
0
30 / 47 / 19
Регистрация: 23.10.2014
Сообщений: 1,001
02.04.2016, 07:06  [ТС] 3
Ev_Hyper, гениальный ответ. А я по вашему что использую?
0
Заблокирован
02.04.2016, 13:14 4
Лучший ответ Сообщение было отмечено Dark Byte как решение

Решение

Dark Byte, хм..ну раз прочесть по ссылке такая проблема, то вот код:

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        <Button  Grid.Row="1" Grid.Column="9" Click="btConnect_Click" >
            <Button.Style>
                <Style TargetType="Button">
                    <Setter Property="Content" Value="Connect"></Setter>
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding IsConnected}" Value="False">
                            <Setter Property="Content" Value="Connect"/>
                        </DataTrigger>
                        <DataTrigger Binding="{Binding IsConnected}" Value="True">
                            <Setter Property="Content" Value="Disconnect"/>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </Button.Style>
        </Button>
2
30 / 47 / 19
Регистрация: 23.10.2014
Сообщений: 1,001
02.04.2016, 14:16  [ТС] 5
Цитата Сообщение от Ev_Hyper Посмотреть сообщение
Dark Byte, хм..ну раз прочесть по ссылке такая проблема, то вот код:
Ну раз посмотреть мой код прежде чем отвечать такая проблема то спасибо. И повторюсь в десятитысячный раз: не надо мне кидать никакие ссылки, будьте уверены - я не стал бы спрашивать не прогуглив. Я много раз читал этот конкретно этот сайт и вообще он у меня в закладках давно. Что касается кода я и пытался использовать триггер данных, просто перепутал ключевые слова - написал просто Trigger вместо DataTrigger.

Добавлено через 2 минуты
Кстати у меня вызывает опасения вот эта строка: TargetType="Button". Не приведет ли это к тому что триггер будет применяться ко всем кнопкам на форме? Мне ведь это не надо, надо только к конкретно этой.
0
Заблокирован
02.04.2016, 14:49 6
Цитата Сообщение от Dark Byte Посмотреть сообщение
Не приведет ли это к тому что триггер будет применяться ко всем кнопкам на форме?
Dark Byte, с чего бы? Вы ведь стиль не в ресурсах храните, а конкретно для одной кнопки прописываете.

Не по теме:

Цитата Сообщение от Dark Byte Посмотреть сообщение
И повторюсь в десятитысячный раз: не надо мне кидать никакие ссылки, будьте уверены - я не стал бы спрашивать не прогуглив.
Значит плохо гуглили.

0
02.04.2016, 14:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2016, 14:49
Помогаю со студенческими работами здесь

Биндинг к свойству типа double + валидация
Я использую для валидации вот такой класс: public abstract class ViewModelBase :...

Как обратиться к свойству текущей формы
Создаю winForms из шаблона, кидаю на форму таймер. Создаю обработчик, пишу так. using...

Не могу обратится к своему свойству формы TopMost
Доброго времени суток. Мне нужно при задании значения свойства формы TopMost выполнить некоторые...

Без причины "теряется объект", получаемый по свойству второй формы ActiveHandle
Раньше в моем коде такой ошибки не было, и все работало нормально. Но теперь после проведения пары...

Создание триггера до удаления записи и триггера после удаления записи
Есть БД на рис. пишу триггер при удаление клиента что бы сначала до удаления удалилась таблица...

Биндинг
filip На пальцах попробую объяснить... На роутере меню Ip Config - Wan &amp; Lan - Wan Connection...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru