powered by simpleCommunicator - 2.0.34     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / WPF C# Передача цвета из метода и использование его для фона, анимация
8 сообщений из 8, страница 1 из 1
WPF C# Передача цвета из метода и использование его для фона, анимация
    #37723846
TwoRS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть метод, который должен на основании значения выдать цвет, а потом надо в коде xaml на wpf к фону привязать этот метод, отдав ему значение Labela, таким образом, если лабел.текст=1, то его фон будет таким-то, а если 2, то другим....
подскажите пожалуйста, как такое сделать?

**
public Color PoluchitCvet(string vhodnoeznachenie)
{
switch (vhodnoeznachenie)
{
case "1":
return [здесь цвет1]// кстати, цвет не могу задать здесь
break;
case "2":
return [здесь цвет2]
goto case 1;
case "3":
return [здесь цвет3]
goto case 1;
default:
return [здесь цвет4]
break;
}
}

ну и если вдруг, кто знает, как сделать, что б при изменении значения лабела(например)
плавно менялся цвет...
т.е. сделать анимацию...
например было значение 2 [цвет фона 2] и вдруг значение лабела поменялось на 1, чтоб цвет фона изменился плавно скажем за 0.5 сек на [цвет фона 1]....может неочень выразился....(((
...
Рейтинг: 0 / 0
WPF C# Передача цвета из метода и использование его для фона, анимация
    #37723868
TwoRS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
break; вместо goto)))
...
Рейтинг: 0 / 0
WPF C# Передача цвета из метода и использование его для фона, анимация
    #37739464
Фотография Esofter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TwoRSесть метод, который должен на основании значения выдать цвет, а потом надо в коде xaml на wpf к фону привязать этот метод, отдав ему значение Labela, таким образом, если лабел.текст=1, то его фон будет таким-то, а если 2, то другим....
подскажите пожалуйста, как такое сделать?

надо сделать биндинг на значение лейбла и написать конвертер значений лейбла в цвет, в котором и использовать этот метод.
...
Рейтинг: 0 / 0
WPF C# Передача цвета из метода и использование его для фона, анимация
    #37743920
TwoRS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Esofter,

А можете пожалуйста какойнибудь пример написать, как это сделать?
я нашёл в книге Мэтью Макдоналда WPF 4.0 стр 609 подобное....не работает....
...
Рейтинг: 0 / 0
WPF C# Передача цвета из метода и использование его для фона, анимация
    #37743947
Фотография Esofter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Пишешь конвертер

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Windows.Data;
using System.Windows.Media;

namespace WpfApplication1
{
    class ColorConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            int val;
            if (Int32.TryParse(value.ToString(), out val))
            {
                switch (val)
                {
                    case 0:
                        return Brushes.Red;
                    case 1:
                        return Brushes.Green;
                    case 2 :
                        return Brushes.Blue;
                        default:
                        return default(Brushes);
                }
            }

            return default(Brushes);
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }
}



разметка такая

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:Converters="clr-namespace:WpfApplication1"
        Title="MainWindow" Height="284" Width="525">
    <Window.Resources>
        <Converters:ColorConverter x:Key="colorConverter" />
    </Window.Resources>
    <Grid>
        <Label Content="1"  x:Name="testLabel" Background="{Binding RelativeSource={RelativeSource Self},Path=Content,Converter={StaticResource colorConverter}}"/>
        <Button Width="Auto" Height="100" Content="Change label value" Click="Button_Click"/>
    </Grid>
</Window>



ну а кнопка просто меняет значение лейбла

Код: c#
1.
2.
3.
4.
private void Button_Click(object sender, RoutedEventArgs e)
        {
            testLabel.Content = new Random().Next(3);
        }
...
Рейтинг: 0 / 0
WPF C# Передача цвета из метода и использование его для фона, анимация
    #37743969
TwoRS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Esofter,

Спасибо огромное!)))))
Сначала тупо скопировал.... а приложение у меня называется не wpfapplication1 ....думаю в чём дело?.....но потом допёрло))))
Спасибо)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
WPF C# Передача цвета из метода и использование его для фона, анимация
    #39907519
Али888
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПОМОГИТЕ СДЕЛАТЬ ПОЖАЛУЙСТА
Создать меню с командами Input color, Change, Exit, Help. При выборе команды Exit приложение завершает работу. При выборе команды Input color открывается диалоговое окно, содержащее:
 три поля ввода типа TextBox с метками Red, Green, Blue;
 группу из двух флажков (Left, Right) типа CheckBox;
 кнопку типа Button.
Обеспечить возможность ввода RGB-составляющих цвета. При выборе команды Change цвет главного окна изменяется на заданный (левая, правая или обе половины окна в зависимости от установки флажков).
...
Рейтинг: 0 / 0
WPF C# Передача цвета из метода и использование его для фона, анимация
    #39907532
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пособие для студентов и школьников

И новый топик создавайте, если осталось желание получить помощь
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / WPF C# Передача цвета из метода и использование его для фона, анимация
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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