Гость
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / WPF Изменить картинку в кнопке триггером. / 5 сообщений из 5, страница 1 из 1
21.04.2016, 17:34
    #39221584
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF Изменить картинку в кнопке триггером.
В том списке, с которым я боролся в прошлой теме, есть кнопка, которая добавляет запись в избранное, а если запись в избранном уже есть, то прячется. На данный момент она реализована так:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
    <local:ButtonConverter x:Key="bc"/>
    
    <Style x:Key="LVButtonDir" TargetType="{x:Type Button}" BasedOn="{StaticResource LVButton}">
        <Setter Property="ToolTip" Value="Добавить в избранное"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="Button">
                    <Image Source="Resources/add2fav.png" Stretch="None"/>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
        <EventSetter Event="Button.Click" Handler="AddToFavorites"/>
        <Style.Triggers>
            <DataTrigger Binding="{Binding Path=Name, Converter={StaticResource bc}}" Value="True">
                <Setter Property="Visibility" Value="Hidden"/>
            </DataTrigger>
        </Style.Triggers>
    </Style>


Однако прячется она лишь при рендеринге записи. При нажатии и добавлении в избранное прячу вручную:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
    Public Sub AddToFavorites(sender As Object, e As RoutedEventArgs)
        Dim c As DirectoryEntry = CType(sender.DataContext, DirectoryEntry)
        Dim f As DirectoryEntry = g_ADData.CiscoIPPhoneDirectory.FirstOrDefault(Function(v) v.Name = c.Name)
        If f Is Nothing Then
            g_ADData.CiscoIPPhoneDirectory.Add(c)
            SaveData()
            CType(sender, Button).Visibility = Visibility.Hidden
        End If
    End Sub

Но как-то это не по правилам WPF.
А если запись удаляется из избранного, то кнопку нужно обратно показать.
Хотелось бы мигать кнопкой с помощью активации триггера, а не ползая по древу UI.
...
Рейтинг: 0 / 0
21.04.2016, 17:57
    #39221613
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF Изменить картинку в кнопке триггером.
Извиняюсь, название топега не соответствует содержимому, поскольку пока формулировал проблему, часть ее решилась - освоил триггер с IValueConverter и решил не менять картинку, а прятать кнопку.
...
Рейтинг: 0 / 0
21.04.2016, 18:16
    #39221647
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF Изменить картинку в кнопке триггером.
создать bool свойство аля IsFavorite у , меня значение свойства в зависимости от того, находится элемент в Favorits или нет, скрывать показывать его через конвертер или триггер. В чем проблема то?
...
Рейтинг: 0 / 0
21.04.2016, 21:55
    #39221852
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF Изменить картинку в кнопке триггером.
Roman MejtesВ чем проблема то?догадаться создать свойство IsFavorite :)
...
Рейтинг: 0 / 0
21.04.2016, 22:04
    #39221862
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WPF Изменить картинку в кнопке триггером.
AntonariyRoman MejtesВ чем проблема то?догадаться создать свойство IsFavorite :)Просто начать мыслить паттерном MVVM
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / WPF Изменить картинку в кнопке триггером. / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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