Элементы управления в InlineUIContainer и BlockUIContainer всегда отключены в RichTextBox.Document

Например, если у меня есть код, подобный следующему, обе кнопки отключены:

<RichTextBox>
    <FlowDocument>
        <BlockUIContainer>
            <Button Content="!"/>
        </BlockUIContainer>
        <Paragraph>
            <InlineUIContainer>
                <Button Content="!"/>
            </InlineUIContainer>
        </Paragraph>
    </FlowDocument>
</RichTextBox>

Я понятия не имею, почему это так или что я могу сделать, чтобы предотвратить это, очевидно, что отключенные кнопки не очень полезны, поэтому любая помощь в решении этой проблемы будет оценена по достоинству.

Редактировать: оказывается, что FlowDocument по какой-то причине отключается, однако я пока не нашел способа снова включить его, так как он сразу же возвращается к IsEnabled="False"...


person H.B.    schedule 16.04.2011    source источник


Ответы (2)


На самом деле существует свойство с именем IsDocumentEnabled. (.NET 3.5 и более поздние версии) на самом RichTextBox, для которого можно установить значение true, чтобы включить документ.

person H.B.    schedule 06.08.2011

Возможно, вам потребуется создать собственный потоковый документ и переопределить его свойство IsEnabledCore. Проверьте эту ссылку: Как-я-могу-изменить-это.aspx" rel="nofollow">http://learnwpf.com/post/2007/01/18/When-I-add-Controls-to-a-WPF-RichTextBox- Они-всегда-отключены-как-я-могу-изменить-этот.aspx

class EnabledFlowDocument : FlowDocument
{
    protected override bool IsEnabledCore
    {
        get
        {
            return true;
        }
    }
}
person Rohit Vats    schedule 16.04.2011
comment
Спасибо, но это, вероятно, то, что я никогда не буду использовать на самом деле, так как вы не должны этого делать (иначе это не было бы отключено в первую очередь). - person H.B.; 17.04.2011