Гость
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Подскажите решения для переключения доступности контролов по условиям. / 20 сообщений из 20, страница 1 из 1
04.08.2017, 22:35
    #39500552
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите решения для переключения доступности контролов по условиям.
Всё что смотрел, занимает многовато кода "в строчках".
Задачка элементарная из WinForms или любого десктопа.
При открытии проекта enable = false кнопку Открыть и наоборот у кнопки Закрыть.
Таких контролов много и условий тоже.
Нужен функционал типа ActionManager в Delphi
http://delphi-box.ru/actionmanager-в-delphi.html
...
С другой стороны, в Веб не принято моргать доступностью кнопок, а WPF вроде как движется к веб)).
Может забить?
...
Рейтинг: 0 / 0
05.08.2017, 08:24
    #39500593
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите решения для переключения доступности контролов по условиям.
1. ICommand.CanExecute

2. Забиндить свойство Enabled к вьюмодели, если не используешь ICommand.
...
Рейтинг: 0 / 0
05.08.2017, 08:30
    #39500594
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите решения для переключения доступности контролов по условиям.
Petro123С другой стороны, в Веб не принято моргать доступностью кнопок, а WPF вроде как движется к веб)).
Может забить?В вебе тоже можно "моргать" доступностью, главное, чтобы причина недоступности была пользователю очевидна. :-)
...
Рейтинг: 0 / 0
05.08.2017, 09:49
    #39500604
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите решения для переключения доступности контролов по условиям.
Алексей К,
спс.
Нашёл
QuickConverter 1.2.3
https://www.nuget.org/packages/QuickConverter/

Конвертер видимости
Код: c#
1.
Visibility="{qc:Binding '$P ? Visibility.Visible : Visibility.Collapsed', P={Binding ShowElement}}"


- применяется? Юзает народ?
...
Рейтинг: 0 / 0
06.08.2017, 00:54
    #39500854
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите решения для переключения доступности контролов по условиям.
Алексей КЗабиндить свойство Enabled к вьюмодели,
работает:
Код: c#
1.
2.
3.
public Boolean SomeBooleanProperty { get { return false; } }
...
<Button x:Name="btn1" IsEnabled="{Binding Path=SomeBooleanProperty}" Content="Button" HorizontalAlignment="Left" Margin="136,83,0,0" VerticalAlignment="Top" Width="75" Click="button_Click"/>


- конвертер нужен только если может из свойства прийти не true/false?
...
Рейтинг: 0 / 0
06.08.2017, 11:03
    #39500911
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите решения для переключения доступности контролов по условиям.
Да. Но и в этом случае можно обойтись триггером, если не хочется использовать нестандартный конвертер.

А вот свойство должно поддерживать нотификацию, иначе изменение свойства в модели не будет влиять на изменение доступности кнопки.
...
Рейтинг: 0 / 0
06.08.2017, 11:14
    #39500914
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите решения для переключения доступности контролов по условиям.
Petro123- конвертер нужен только если может из свойства прийти не true/false?Да, если тип свойства в модели не соответствует типу свойства в контроле. Типовой случай, преобразование bool => Visibility .

Конвертеры удобно описывать в виде расширений разметки, применив базовый класс вроде:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
    public class SelfProvidingMarkupExtension : MarkupExtension
    {
        public override object ProvideValue(IServiceProvider serviceProvider)
        {
            return this;
        }
    }

    public class BoolToVisibilityConverter : SelfProvidingMarkupExtension, IValueConverter
    {
          // Тут реализуем IValueConverter
    }



После этого можно писать так:
Код: xml
1.
<Button Visibility="{Binding MyBoolProperty, Converter={BoolToVisibilityConverter}}"/>
...
Рейтинг: 0 / 0
06.08.2017, 11:17
    #39500916
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите решения для переключения доступности контролов по условиям.
Shocker.Pro... если не хочется использовать нестандартный конвертер.Не помню ни одного стандартного конвертера в WPF. Все конвертеры приходилось писать самому.
...
Рейтинг: 0 / 0
06.08.2017, 11:42
    #39500923
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите решения для переключения доступности контролов по условиям.
Алексей КНе помню ни одного стандартного конвертера в WPF. Все конвертеры приходилось писать самому.их есть
тот же BoolToVisibility самому реализовывать не надо
...
Рейтинг: 0 / 0
06.08.2017, 16:58
    #39500971
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите решения для переключения доступности контролов по условиям.
если нужно сделать моргание кнопки, вкл\выкл, то ни чего лучше, чем анимация тут быть не может. Если нужна анимация именно моргания.
...
Рейтинг: 0 / 0
06.08.2017, 17:06
    #39500973
iMrTidy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите решения для переключения доступности контролов по условиям.
Алексей КShocker.Pro... если не хочется использовать нестандартный конвертер.Не помню ни одного стандартного конвертера в WPF. Все конвертеры приходилось писать самому.

Есть такой вот список .
...
Рейтинг: 0 / 0
06.08.2017, 17:25
    #39500976
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите решения для переключения доступности контролов по условиям.
Roman Mejtesесли нужно сделать моргание кнопки, вкл\выкл, то ни чего лучше, чем анимация тут быть не может. Если нужна анимация именно моргания.плавная анимация от True к False в течение 5 секунд?
...
Рейтинг: 0 / 0
06.08.2017, 18:15
    #39500981
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите решения для переключения доступности контролов по условиям.
Shocker.Pro,

да и что тебя смущает?

ObjectAnimationUsingKeyFrames -> DiscreteObjectKeyFrame
BooleanAnimationUsingKeyFrames -> DiscreteBooleanKeyFrame

нужна анимация, и делать её нужно через анимацию, где есть timeline и которой можно управлять и не нужно городить лес и костыли
...
Рейтинг: 0 / 0
06.08.2017, 22:39
    #39501028
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите решения для переключения доступности контролов по условиям.
Roman Mejtes,
Анимация это медленный, плавный процесс.
А мне нужно резко).
...
Рейтинг: 0 / 0
07.08.2017, 05:11
    #39501047
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите решения для переключения доступности контролов по условиям.
Petro123А мне нужно резко).++

Checkbox в теме Aero тоже переключается с анимацией, воспринимается отвратительно.
...
Рейтинг: 0 / 0
07.08.2017, 05:16
    #39501048
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите решения для переключения доступности контролов по условиям.
Shocker.ProАлексей КНе помню ни одного стандартного конвертера в WPF. Все конвертеры приходилось писать самому.их есть
тот же BoolToVisibility самому реализовывать не надоiMrTidyАлексей Кпропущено...
Не помню ни одного стандартного конвертера в WPF. Все конвертеры приходилось писать самому.

Есть такой вот список .
Опубликовано: Октябрь 2016 - поздновато опубликовали, надо было году так в 2010-м.
...
Рейтинг: 0 / 0
07.08.2017, 06:16
    #39501049
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите решения для переключения доступности контролов по условиям.
Алексей К Опубликовано: Октябрь 2016 - поздновато опубликовали, надо было году так в 2010-м.
Вверху страницы есть ссылочка "Другие версии" со списком. Версия от FW 3.5 датируется аж ноябрем 2007-го года.
...
Рейтинг: 0 / 0
07.08.2017, 06:27
    #39501050
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите решения для переключения доступности контролов по условиям.
Сон Веры ПавловныАлексей К Опубликовано: Октябрь 2016 - поздновато опубликовали, надо было году так в 2010-м.
Вверху страницы есть ссылочка "Другие версии" со списком. Версия от FW 3.5 датируется аж ноябрем 2007-го года.Ok
...
Рейтинг: 0 / 0
07.08.2017, 08:05
    #39501063
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите решения для переключения доступности контролов по условиям.
Алексей КOk
Однако я всё равно написал и использую свой )
...
Рейтинг: 0 / 0
07.08.2017, 08:09
    #39501068
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите решения для переключения доступности контролов по условиям.
Сон Веры ПавловныАлексей КOk
Однако я всё равно написал и использую свой )Ok :-)
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Подскажите решения для переключения доступности контролов по условиям. / 20 сообщений из 20, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]