Невозможно установить RibbonTextBox isEnable в False - PullRequest
3 голосов
/ 30 июля 2011

Я пробовал элементы управления ленты и столкнулся с возможной ошибкой (или, возможно, я делаю что-то не так).Если у меня есть RibbonTextBox на RibbonTab и установка isEnabled на False или True в коде позади, я могу установить только значение falseно не правда.RibbonTextBox остается отключенным.

/* in my XAML */
<ribbon:RibbonTextBox x:Name="rtb" Label="Button1" />

/* in my code behind */
rtb.IsEnabled = false;  // RibbonTextBox is disabled and grayed out
... some other code ...
rtb.IsEnabled = true;   // RibbonTextBox remain disabled and grayed out

Ответы [ 2 ]

5 голосов
/ 30 июля 2011

По-видимому, это известная проблема

Свойство RibbonTextBox IsEnabled всегда ложно

Возможный обходной путь также дан по этой ссылке
Обновление: я попробовал этот обходной путь самостоятельно, и он действительно работает

public class FixedRibbonTextBox : RibbonTextBox
{
    protected override bool IsEnabledCore
    {
        get { return true; }
    }
}
1 голос
/ 10 декабря 2012

Я также пробовал этот обходной путь, и у меня были проблемы.

В xaml у меня нет проблем с настройкой и определением некоторых свойств RibbonTextBox. Я могу запустить код, и текстовое поле отображается на экране, но не включено.

если я включаю обходной код в мой файл MainWindow.xaml.cs, я получаю сообщение об ошибке «Не удалось найти тип или имя пространства имен« RibbonTextBox ».

  1. Где я должен включить код (MainWindow.xaml.cs?).

  2. Пространство имен system.windows.controls.ribbon неизвестно. Какой DLL должен быть установлен в ссылках (не могу найти System.Windows.Controls.Ribbon в ссылках)? Я думаю, что я должен использовать это пространство имен, чтобы получить ribtextbox. Я использую VS2010 Express C #.

...