Silverlight 4.0 如何在Silverlight 4中设置RichTextBox以适应它';s父级高度并将其保持在“调整大小”状态?

Silverlight 4.0 如何在Silverlight 4中设置RichTextBox以适应它';s父级高度并将其保持在“调整大小”状态?,silverlight-4.0,richtextbox,resize,Silverlight 4.0,Richtextbox,Resize,我很难弄明白这一点。以下是我需要的: <StackPanel x:Name="container" VerticalAlignment="Stretch"> <RichTextBox Height="???" /> </StackPanel> 基本上,我知道我可以做的是将RichTextBox高度绑定到它的父级高度(Height=“{Binding ElementName=container,Path=actualwhite}”。不幸的是,这只

我很难弄明白这一点。以下是我需要的:

<StackPanel x:Name="container" VerticalAlignment="Stretch">
     <RichTextBox Height="???" />
</StackPanel>

基本上,我知道我可以做的是将RichTextBox高度绑定到它的父级高度(
Height=“{Binding ElementName=container,Path=actualwhite}”
。不幸的是,这只在加载时起作用,因为看起来actualwhight和actualwhidth不会通知更改

那么Silverlight 4中告诉RichTextBoxTextBlock的最好方法是什么呢?填充它的父级高度,如果它的内容高度更大,则保持滚动条。这是绑定一些调整大小事件并显式保持高度的唯一方法吗?这对我来说真的很难看吗?有人有过这个pr吗还有问题吗

非常感谢您提供任何资源或信息!谢谢。

Ivan

解决此问题的最佳方法是使用网格作为RickTextBox的父对象,而不是StackPanel。默认情况下,网格将“拉伸”其内容以占用所有可用空间。StackPanel将仅在一个维度中拉伸其内容

例如,将以下XAML粘贴到my中以查看差异:

<UserControl
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition />
            <RowDefinition />
        </Grid.RowDefinitions>
        <StackPanel Grid.Row="0">
            <RichTextBox
                Foreground="Blue" FontSize="24" Background="Yellow">
                <Paragraph>RichTextBox inside a StackPanel</Paragraph>
            </RichTextBox>
        </StackPanel>
        <Grid Grid.Row="1">
            <RichTextBox
                Foreground="Blue" FontSize="24" Background="Tan">
                <Paragraph>RichTextBox inside a Grid</Paragraph>
            </RichTextBox>
        </Grid>
    </Grid>
</UserControl>

堆栈面板中的RichTextBox
网格中的RichTextBox
祝你好运,

Jim McCurdy,面对面软件和YinYangMoney

无助于解决实际问题。当RichTextBox高度未明确设置时,它将调整大小以适应其内容,并将调整大小(如果内容大于容器)父对象,无论您设置了什么。可能我不清楚。您不应该绑定高度。如果RichTextBox放置在网格内,它将保持与网格相同的大小,因为网格默认会拉伸其内容。StackPanel只会拉伸其内容的一个维度。我在上面编辑了我的答案以澄清。我完全同意第一次就知道了。:)问题不在这里。开始在RichTextBox中键入,直到它开始滚动。问题是它从来不会这样做,并且会调整自身及其父对象的高度。实际上,我在网格中的一个空项目中实现了这一点。所以我猜是另一件事导致了我的问题。无论如何,你的回答是正确的,因此我会接受。