Как получить доступ к сетке внутри RichTextBox в Silverlight 4? - PullRequest
0 голосов
/ 21 апреля 2010

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

Я начинаю с этого XAML в сетке.

<RichTextBox Name="TB1" AcceptsReturn="True">
    <Paragraph TextAlignment="Center">
        Hi everybody
    </Paragraph>
    <Paragraph>
        <InlineUIContainer>
            <Grid Background="Black">
                <Grid.RowDefinitions>
                    <RowDefinition Height="10" />
                    <RowDefinition Height="10" />
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="10" />
                    <ColumnDefinition Width="10" />
                </Grid.ColumnDefinitions>
            </Grid>
        </InlineUIContainer>
    </Paragraph>
    <Paragraph>
        How are you today?
    </Paragraph>
</RichTextBox>

Затем, когда я получаю XAML, используя свойство Xaml RichTextBox, я получаю этот XAML.

<Section xml:space="preserve" HasTrailingParagraphBreakOnPaste="False" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">

<Paragraph FontSize="11" FontFamily="Portable User Interface" Foreground="#FF000000" FontWeight="Normal" FontStyle="Normal" FontStretch="Normal" TextAlignment="Center">
<Run Text="Hi everybody" />
</Paragraph>

<Paragraph FontSize="11" FontFamily="Portable User Interface" Foreground="#FF000000" FontWeight="Normal" FontStyle="Normal" FontStretch="Normal" TextAlignment="Left">
<Run />
</Paragraph>

<Paragraph FontSize="11" FontFamily="Portable User Interface" Foreground="#FF000000" FontWeight="Normal" FontStyle="Normal" FontStretch="Normal" TextAlignment="Left">
<Run Text="How are you today?" />
</Paragraph>
</Section>

Обратите внимание, что Сетка превратилась в пустой элемент Run.

Кто-нибудь знает, почему это происходит?

1 Ответ

0 голосов
/ 23 апреля 2010

Как оказалось, свойство RichTextBox.Xaml в Silverlight 4 не включает элементы InlineUIElements. Об этом есть примечание в документах.

Обратите внимание, что строка XAML, возвращаемая свойством Xaml, не будет включать объекты UIElement, присутствующие в содержимом. Объекты InlineUIContainer будут преобразованы в пустые объекты Run.

...