Работа с коммандами

Тема в разделе ".NET", создана пользователем iceheart, 16 июн 2008.

  1. iceheart

    iceheart Гость

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

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

    Pasha Гость

    iceheart
    Модель свойств и событий WPF не использует свойства и события CLR/C#. Если коротко, то тебе надо сделать следующее:
    1. Определить у кнопки св-во Command. Оно есть у обычного Button. Если у тебя button необчыный - то в его click нужно выполнить команду ручками - EditingCommands.ToggleBold.Execute(null, button1) или просто Execute(null).
    2. Задать у окна Command Binding для EditingCommands.ToggleBold и у этого биндинга в Executed менять bold для текстбокса.
    А еще лучше - взять книжку макдональда и разобратся с моделью команд.
     
Загрузка...
Похожие Темы - Работа коммандами
  1. Andrey Kha
    Ответов:
    0
    Просмотров:
    33
  2. Hoasker
    Ответов:
    0
    Просмотров:
    65
  3. garri671
    Ответов:
    0
    Просмотров:
    74
  4. lelik200969
    Ответов:
    0
    Просмотров:
    55
  5. Kozolick
    Ответов:
    0
    Просмотров:
    146

Поделиться этой страницей