|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.10.2010, 02:33 | #1 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Создаю свой FontDialog для WPF. Получение списка шрифтов системы...
Привет всем! Вот понадобилось мне сделать окно для настроек шрифта. Чтобы пользователь мог настроить шрифт. Пока я только начал это дело и вроде бы могу получить список шрифтов. Но не понятно как мне при выборе шрифта в ListBox'e сделать так, чтобы этот шрифт применялся к TextBlock (он отображает текст для предпросмотра). Я догадываюсь, что можно, что-то придумать с биндингами и т.д. Вообще подскажите кто знает, как сделать. То есть вообще нужно, чтобы я не просто в листбоксе выделял айтем, а чтобы выбранный в списке шрифт применялся к текстблоку или переменной какой, не важно.
Вот XAML: Код:
Код:
|
29.10.2010, 09:11 | #2 |
Наркоман самоучка
Форумчанин
Регистрация: 22.07.2007
Сообщений: 276
|
Пример декларативным способом:
Код:
#include <мозг.h>
|
29.10.2010, 11:46 | #3 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Вот немного переделал, так как прошлый способ получал в список не отдельные FontFamily, а все FontFamily включая значения каждого элемента коллекции Values у FontFamily. Получалось, что в списке присутствовали лишние элементы, которые не меняли шрифт, но сами были написаны иероглифами. Теперь каждый элемент списка отображается своим шрифтом. Перестали значения биндиться. То есть текстблок не реагирует. Интересно почему? Ведь вроде особо ничего не поменялось?
В общем я понял как всё сделать не декларативно. Но всё же интересно почему не биндится больше? Код:
Последний раз редактировалось Casper-SC; 29.10.2010 в 11:50. |
29.10.2010, 12:08 | #4 |
Наркоман самоучка
Форумчанин
Регистрация: 22.07.2007
Сообщений: 276
|
Потому-что ты теперь свойству FontFamily присваиваешь не string, а ListBoxItem.
То есть, у ListBoxItem вызывается метод ToString, который возвращает не то, что нужно.
#include <мозг.h>
Последний раз редактировалось Руслантус; 29.10.2010 в 12:19. Причина: Дополнение. |
29.10.2010, 12:24 | #5 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Ясно.
И теперь уже нельзя в XAML забиндить? Ну то есть теперь как-то в том конструкторе мне придётся делать (хотя можно руками сделать по событиям листбокса, но всё же)? Я пробовал, что-то не нашёл как забиндить из XAML. |
29.10.2010, 12:45 | #6 |
Наркоман самоучка
Форумчанин
Регистрация: 22.07.2007
Сообщений: 276
|
Нужно изменить путь:
Код:
#include <мозг.h>
|
29.10.2010, 12:56 | #7 |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
О, спасибо! Я бы в жизни не догадался. Нет, ну почему у студии в XAML IntelleSense так плохо работает... Ни подсказок толком, ничего. Вот это пожалуй большой минус студии при работе с WPF в отличии от WinForms где в разы всё удобнее сделано. И подсказок море.
Последний раз редактировалось Casper-SC; 29.10.2010 в 13:06. |
29.10.2010, 13:06 | #8 |
Наркоман самоучка
Форумчанин
Регистрация: 22.07.2007
Сообщений: 276
|
Пользуйся Visual Studio 2010. Там уже появился IntelliSense для биндингов, возможность привязки с помощью удобной формы и много другого.
#include <мозг.h>
|
29.10.2010, 13:53 | #9 | |
Форумчанин
Регистрация: 04.07.2007
Сообщений: 549
|
Цитата:
Так у меня и есть Visual Studio 2010. Может заметил в XAML я использую TextOptions доступный только из 4-ой версии фрэймворка. Последний раз редактировалось Casper-SC; 29.10.2010 в 19:01. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
WPF Получение 2D координат 3D вектора | Eugene123 | WPF, UWP, WinRT, XAML | 0 | 09.10.2010 20:15 |
Получение списка процеcсов | legendary | Win Api | 12 | 02.09.2010 18:06 |
Получение списка файлов кроссплатформа | kin63camapa | Общие вопросы C/C++ | 2 | 13.02.2010 00:24 |
Получение списка файлов | Костян Пират | Общие вопросы Delphi | 11 | 16.02.2009 09:58 |
получение 1 списка из 2-х | Neznau | Помощь студентам | 0 | 10.12.2008 22:16 |