Форум программистов CODEBY.NET Хостинг в Беларуси — Active Technologies

Разработка бизнес сайтов

Нужны клиенты? Тогда сюда быстрее...
X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )




> Работа с коммандами, RoutedCommand, ApplicationCommands, EditingCommands
iceheart
Вставить ник
сообщение 16:06:2008, 15:51
Цитата Ответить 


Новенький
Иконка группы

Группа: Новенький
Сообщений: 20
Регистрация: 14:12:2007
Пользователь №: 14 252



Репутация:   0  


Пытаюсь использовать команды для форматирования текста. Не получается.
Во-первых, в документации написано, что мне нужно просто установить свойство (или событие?) Command моего объекта-отправителя на нужную мне команду, например toolbar1.button1.Command = EditingCommands.ToggleBold. Но этого свойства (события?) у нужного мне элемента управления (а именно, кнопки на ToolStrip) нет. Остаётся вызвать команду вручную, то есть (я думаю) EditingCommands.ToggleBold.Execute( ?, ? ), но как ни вчитываюсь, не могу разобраться с параметрами этой функции. Первый параметр, я так понимаю, можно опустить, но что собой представляет второй? Элемент управления, над которым будет команда выполняться, компилятор кушать не хочет. Если туда поставить null, всё прекрасно запускается, но ничего не работает.
Задача в двух словах: сделать, чтобы кнопка на панели инструментов включала и выключала полужирный. В доке приведён пример точно такой же задачи, но там активно используется XAML, а я о нём ничего не знаю sad.gif

Вопросы:
1. Почему обещанного свойства (события?) Command у кнопочки нету? Может я не подключил какой reference? С грехом пополам добился, чтобы хотябы EditingCommands компилятор видел, подключил для этого (через Project->Add Reference...) PresentationCore и PresentationFramework. Может быть, чего-то ещё не хватает?
2. Как вызывать команду вручную - на элемент управления класса RichTextBox?
Подняться вверх 
 
Сообщение #1
 
Новая тема 
Ответов (1 - 1)
Pasha
Вставить ник
сообщение 17:06:2008, 10:10
Цитата Ответить 


Божественный
Иконка группы

Группа: Модеры
Сообщений: 1 293
Регистрация: 17:05:2006
Из: Минск
Пользователь №: 4 257



Репутация:   28  


iceheart
Модель свойств и событий WPF не использует свойства и события CLR/C#. Если коротко, то тебе надо сделать следующее:
1. Определить у кнопки св-во Command. Оно есть у обычного Button. Если у тебя button необчыный - то в его click нужно выполнить команду ручками - EditingCommands.ToggleBold.Execute(null, button1) или просто Execute(null).
2. Задать у окна Command Binding для EditingCommands.ToggleBold и у этого биндинга в Executed менять bold для текстбокса.
А еще лучше - взять книжку макдональда и разобратся с моделью команд.
Подняться вверх 
 
Сообщение #2


Быстрый ответ  Ответить  Новая тема 

> Быстрый ответ
Полужирный
Курсив
Подчеркнутый
Вставить изображение
Смайлики
Цитата
Код
 
 Отправлять уведомления об ответах на e-mail |  Включить смайлики |  Добавить подпись |  AJAX?
   

 

RSS Текстовая версия Сейчас: 12:10:2008 - 12:23

с нами можно связаться по:
телефону: +375-(29)-632-60-67
e-mail:info@codeby.net