Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
146 / 130 / 27
Регистрация: 20.12.2010
Сообщений: 242

Определить имя (ключ) стиля, примененный к Label

29.06.2011, 01:23. Показов 1829. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть Label, к которым применены различные стили.
Стили описаны стандартно в xaml
XML
1
2
3
4
5
6
7
8
9
10
11
<Style x:Key="Style1" TargetType="Label">
    <Setter Property="Background" Value="WhiteSmoke" />
...
</Style>
<Style x:Key="Style2" TargetType="Label">
    <Setter Property="Background" Value="Black" />
...
</Style>
...
и к примеру:
<Label Style="{StaticResource Style1}" Name="label1" >123456</Label>
Как в коде узнать, какой именно стиль применен к label1?
label1.Style мне этого не говорит

Спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.06.2011, 01:23
Ответы с готовыми решениями:

Как определить, что поле - внешний ключ, и узнать имя связанной с ним таблицы?
Здравствуйте! Идет перебор полей в ADOQuery: for i=0 to ADOQuery1.FieldCount-1 do // ...как узнать, является ли Fields внешним...

Чёрный цвет label при изменении стиля программы
Люди помогите пожалуйста, я когда выбираю любой style для программы, то разноцветные label, становятся чёрным. Как исправить :cry:

Нарисуйте линиями разного цвета и стиля свое имя
Плохо понял тему, а сдавать задание уже завтра. Помогите пожалуйста. Нарисуйте линиями разного цвета и стиля свое имя. PascalABC Имя -...

4
13 / 13 / 3
Регистрация: 20.01.2011
Сообщений: 56
30.06.2011, 13:26
Может мой вариант немного кривой, но так как пока нету ответов предлагаю следующее):
- в моем случае ресурсы хранятся в MainPage, тогда извлекаю текущий экземпляр страницы
// если глобально, то Application.Current.Resources соответственно...

MainPage a = Application.Current.RootVisual as MainPage;

Далее просто сравниваю ссылки на стили:
C#
1
2
3
4
5
6
7
8
            if (label1.Style == (Style)a.Resources["Style1"])
            {
                MessageBox.Show("Это первый стиль...Style1");
            }
            if (label1.Style == (Style)a.Resources["Style2"])
            {
                MessageBox.Show("Это второй стиль...Style2");
            }
таким образом узнаю у кого какой стиль
1
146 / 130 / 27
Регистрация: 20.12.2010
Сообщений: 242
30.06.2011, 18:50  [ТС]
спасибо, о таком варианте я уже думал, только извлечь список стилей из ресурсов и пробежаться ими.
но не уверен что прокатит.
Хотелось бы чтото попроще.
0
burning1ife
 Аватар для kenny69
1466 / 1287 / 294
Регистрация: 21.09.2008
Сообщений: 3,438
Записей в блоге: 9
01.07.2011, 10:58
класс helper^
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static class ResourceHelper
{
    static public string FindNameFromResource(ResourceDictionary dictionary, object resourceItem)
    {
        foreach (object key in dictionary.Keys)
        {
            if (dictionary[key] == resourceItem)
            {
                return key.ToString();
            }
        }
 
        return null;
    }
}
использование:
C#
1
string name = ResourceHelper.FindNameFromResource(this.Resources, defaultStyle);
1
146 / 130 / 27
Регистрация: 20.12.2010
Сообщений: 242
01.07.2011, 18:04  [ТС]
kenny69, круто, спасибо!
я бы делал в цикле, прямо в коде, но что б вынести в отдельный класс - не догадался бы.
А этот вариант намного удобней и приятней.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.07.2011, 18:04
Помогаю со студенческими работами здесь

Внешний ключ - Имя таблицы. Возможно ли?
Можно ли сделать имя таблицы - внешним ключом, чтобы внешний ключ ссылался на столбец. Есть таблица - users: name Alexander Albert ...

Как определить имя сервер может определить имя
Раньше было все нормально когда IP адреса были статичными, но наш администратор сделал их динамичными и теперь мой вебсервер не может...

Label автоматически меняет имя
Здравствуйте. У меня вот вопросик. Есть игра, в исходнике Label подписано &quot;Набрано балов&quot;, когда игрок начинает набирать балы, он...

Как получить имя label из sender?
Нужно при клике на 'label1' передать имя первого лейбла во второй. public Form1() { InitializeComponent(); ...

Вытащить имя сотрудника в Label по его ID
Привет всем вообщем делаю я свою курсовую работу Простую часть почти закончила но не могу не чего придумать с мини авторизацией Все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru