【问题标题】:Silverlight 4 TextBlock inside ScrollViewer is clipping the text on the rightScrollViewer 内的 Silverlight 4 TextBlock 正在剪辑右侧的文本
【发布时间】:2013-03-23 04:46:02
【问题描述】:

我有这个非常简单的 ChildWindow:

<Grid x:Name="LayoutRoot" Margin="2">
    <Grid.RowDefinitions>
        <RowDefinition />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>

    <Button x:Name="CancelButton" Content="Cancel" Click="CancelButton_Click" Width="75" Height="23" HorizontalAlignment="Right" Margin="0,12,0,0" Grid.Row="1" />
    <Button x:Name="OKButton" Content="OK" Click="OKButton_Click" Width="75" Height="23" HorizontalAlignment="Right" Margin="0,12,79,0" Grid.Row="1" />
    <ScrollViewer Width="378">
        <StackPanel>
            <TextBlock x:Name="txtFracture" HorizontalAlignment="Left" Margin="10,10,10,10" TextWrapping="Wrap" VerticalAlignment="Top" Width="358"/>
        </StackPanel>
    </ScrollViewer>
</Grid>

我的问题是 TextBlock 中的文本在右侧被剪裁了。 (我最初没有 StackPanel ——那只是一个实验。)我在 Margin.Right 中添加了越来越多的内容,但它没有帮助。滚动条本身并没有踩到文本,文本只是在到达块的右侧时下降了一堆像素。有时,甚至不是整个字母都被剪掉了。看到什么了吗?

另外,如果我将 Horizo​​ntalAlignment 从 Left 更改为 Center,我会在块的两侧得到像素剪裁。

另外,如果我完全移除 ScrollViewer,剪辑仍然存在,所以这也不是他的错。

【问题讨论】:

    标签: silverlight silverlight-4.0


    【解决方案1】:

    我注意到您的 texblock 宽度为常数,并且您需要在所有边上设置 10 的边距。在这种情况下,ScrollViewer ScrollBar 会剪辑您的 TextBlock。 可能的解决方案是 1.删​​除文本块上的宽度并设置对齐拉伸。

    试试这个

       <ScrollViewer Width="378" HorizontalScrollBarVisibility="Disabled"  VerticalScrollBarVisibility="Auto">
             <TextBlock x:Name="txtFracture"  HorizontalAlignment="Stretch" Margin="10,10,10,10" TextWrapping="Wrap" VerticalAlignment="Stretch" 
                        Text="Testing"/>   
        </ScrollViewer>
    

    【讨论】:

    • 此解决方案有效 - 谢谢 - 但问题不在于 ScrollViewer(我在问题陈述中提到我已将其取出)。问题似乎是明确设置了 TextBlock Width。
    【解决方案2】:

    事实证明这是可行的:

        <ScrollViewer Width="378" >
            <StackPanel>
                <TextBlock x:Name="txtFracture" Margin="10,10,10,10" TextWrapping="Wrap" />
            </StackPanel>
        </ScrollViewer>
    

    据我所知,真正的罪魁祸首是明确设置的 TextBlock Width。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多