powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как на лету подменять картинку у кнопки?
6 сообщений из 6, страница 1 из 1
Как на лету подменять картинку у кнопки?
    #37266948
vlsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть кнопка
Код: plaintext
1.
2.
3.
4.
 <Button Width="28" ToolTip="Группировать строки" Command="command:DataCommands.Group">
     <Image Name="ImageGroup" 
      Source="/Monitel.M_Navigator.GroupUpdater;component/Icons/GroupActiveOn.png" />
 </Button>

Как подменить картинку Image в коде на C#?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
private void GroupCommand_CanExecute(object sender, CanExecuteRoutedEventArgs e)
{
    Uri uri = null;

    if (Flag_IsGroup) uri = new Uri("GroupActivуOff.png");
    else              uri = new Uri("GroupActivуOn.png");

    BitmapImage bitmapImage = new BitmapImage(uri);
    ImageGroup.Source = bitmapImage; 
    e.CanExecute = Flag_IsGroup;
}

Не соображу, как правильный путь в Uri прописать.

Идея такая. Когда команда не активна, то иконка в серых тонах, когда активна, то цветная.
...
Рейтинг: 0 / 0
Как на лету подменять картинку у кнопки?
    #37266974
Руки-крюки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlsafЕсть кнопка
Код: plaintext
1.
2.
3.
4.
 <Button Width="28" ToolTip="Группировать строки" Command="command:DataCommands.Group">
     <Image Name="ImageGroup" 
      Source="/Monitel.M_Navigator.GroupUpdater;component/Icons/GroupActiveOn.png" />
 </Button>

Как подменить картинку Image в коде на C#?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
private void GroupCommand_CanExecute(object sender, CanExecuteRoutedEventArgs e)
{
    Uri uri = null;

    if (Flag_IsGroup) uri = new Uri("GroupActivуOff.png");
    else              uri = new Uri("GroupActivуOn.png");

    BitmapImage bitmapImage = new BitmapImage(uri);
    ImageGroup.Source = bitmapImage; 
    e.CanExecute = Flag_IsGroup;
}

Не соображу, как правильный путь в Uri прописать.

Идея такая. Когда команда не активна, то иконка в серых тонах, когда активна, то цветная.

Просто путь к картинке. Она у вас в каком-то проекте, по-этому путь будет идти к этом проекту.

Но советую юзать привязку, иначе гавнокод получается.
...
Рейтинг: 0 / 0
Как на лету подменять картинку у кнопки?
    #37266999
vlsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробую через триггер.
...
Рейтинг: 0 / 0
Как на лету подменять картинку у кнопки?
    #37267007
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlsaf,

у вас картинка лежит в свойстве Content кнопки, кастуйте Content в Image и меняйте картинки на здоровье.
...
Рейтинг: 0 / 0
Как на лету подменять картинку у кнопки?
    #37267197
vlsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделал так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<Style x:Key="GroupOnOff" TargetType="Button" BasedOn="{StaticResource RoundButton}">
    <Style.Triggers>
        <Trigger Property="IsEnabled" Value="False">
            <Setter Property="Opacity" Value="0.3"/>
        </Trigger>
    </Style.Triggers>
</Style>

Код: plaintext
1.
2.
3.
4.
<Button Name="ButtonGroup"   Width="28" ToolTip="Группировать строки"    
        Style="{StaticResource GroupOnOff}" Command="command:DataCommands.Group" >
    <Image Name="ImageGroup" Source="/Monitel.M_Navigator.GroupUpdater;component/Icons/GroupOnActiveOn.png" Stretch="None" />
</Button>

Если кнопка активна, то она выводится на 100%.
Если нет - видимость 30%.
...
Рейтинг: 0 / 0
Как на лету подменять картинку у кнопки?
    #37267217
vlsaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Активность или неактивность кнопки задает привязаная команда.
Код: plaintext
1.
2.
3.
4.
private void GroupCommand_CanExecute(object sender, CanExecuteRoutedEventArgs e)
{
    e.CanExecute = Flag_Group;
}
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как на лету подменять картинку у кнопки?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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