Установить размер InlineUIContainer?

Я завернул TextBlock в InlineUIContainer внутри RichTextBoxего содержимое привязано к внешней многострочной TextBox что пользователь обновляет на месте.

Что происходит, InlineUIContainerРазмер не увеличивается и не уменьшается по мере необходимости, это статический размер, мне нужно, чтобы он был увеличен в соответствии с размером внутреннего TextBlock (Я проверил размер TextBlock и это действительно изменяет размер согласно своему содержанию).

Есть ли способ сделать это? Конечно, предпочтительнее способ XAMLy, даже более многословный.

2 ответа

Решение

Я сделал уродливый и хакерский обходной путь, надеюсь скоро его заменить.

Я сделал другое свойство во ViewModel, которое возвращает:

string.IsNullOrWhitespace(comments) ? 
  string.Empty : 
  string.Format("Comments:{1}{0}{1}", comments, Environment.NewLine);  

Это работает, но противно.

Я не знаю, является ли это Silverlight, но проверка этого в Kaxaml работает (ввод в Textbox расширяет его):

<RichTextBox IsDocumentEnabled="true">
  <FlowDocument>
    <Paragraph>
      <Run>cool </Run>
      <InlineUIContainer><TextBox>woohoo</TextBox></InlineUIContainer>
      <Run>stuff</Run>
    </Paragraph>
  </FlowDocument>
</RichTextBox>
Другие вопросы по тегам