如何在Silverlight 4中访问RichTextBox内的网格?

时间:2010-04-21 14:07:01

标签: silverlight-4.0 richtextbox

我试图允许用户在RichTextBox中创建一个表。我可以在RichTextBox中创建一个Grid,但我遇到了一些问题。

我从网格中的这个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>

然后,当我使用RichTextBox的Xaml属性获取XAML时,我得到了这个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>

请注意,Grid已变为空的Run元素。

任何人都知道为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

事实证明,Silverlight 4中的RichTextBox.Xaml Property不包含InlineUIElements。文件中有关于它的说明。

  

请注意,Xaml属性返回的XAML字符串不包含内容中存在的任何UIElement对象。 InlineUIContainer对象将转换为空的Run对象。