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

Код: 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
WPF Изменить картинку в кнопке триггером.
    #39221613
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, название топега не соответствует содержимому, поскольку пока формулировал проблему, часть ее решилась - освоил триггер с IValueConverter и решил не менять картинку, а прятать кнопку.
...
Рейтинг: 0 / 0
WPF Изменить картинку в кнопке триггером.
    #39221647
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
создать bool свойство аля IsFavorite у , меня значение свойства в зависимости от того, находится элемент в Favorits или нет, скрывать показывать его через конвертер или триггер. В чем проблема то?
...
Рейтинг: 0 / 0
WPF Изменить картинку в кнопке триггером.
    #39221852
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejtesВ чем проблема то?догадаться создать свойство IsFavorite :)
...
Рейтинг: 0 / 0
WPF Изменить картинку в кнопке триггером.
    #39221862
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyRoman MejtesВ чем проблема то?догадаться создать свойство IsFavorite :)Просто начать мыслить паттерном MVVM
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / WPF Изменить картинку в кнопке триггером.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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