我有一个有3列的网格。我想滚动一个长文本,我在第二列中使用滚动条更新。我试过了文本块,但如果我的文字不适合,它会把我的字符串剪掉。你能推荐我做些什么。
我的代码现在看起来像这样:
以下是三栏。
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120"></ColumnDefinition>
<ColumnDefinition Width="2*"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
我更新的文本块
<TextBlock Name="SongTitle" Text="Now onair:" FontSize="20" VerticalAlignment="Center" HorizontalAlignment="Center" Grid.Column="1" TextWrapping="NoWrap">
<TextBlock.RenderTransform>
<TranslateTransform x:Name="translate" />
</TextBlock.RenderTransform>
<TextBlock.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded">
<BeginStoryboard>
<Storyboard RepeatBehavior="Forever">
这是一个问题,它开始不是从列边缘滚动...
<DoubleAnimation
From="300" To="0"
Storyboard.TargetName="translate"
Storyboard.TargetProperty="X"
Duration="0:0:8" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</TextBlock.Triggers>
</TextBlock>
答案 0 :(得分:0)
首先,您应该使用Grid
,而不是使用ScrollViewer
。要隐藏滚动条,请将HorizontalScrollBarVisibility
和VerticalScrollBarVisibility
设置为Hidden
。然后,您可以通过代码隐藏来处理鼠标滚轮事件,以防止用户手动滚动文本。
当然,也可以使用Grid
,但它会给你带来一些麻烦。
要回答原始问题,您应该使用LayoutTransform
代替RenderTransform
。