Windows Phone 7 水平滾動的文本

有木有發現應用的標題長一點就顯示不全鳥,滾動一下就可以了。有兩種方法一種是使用ScrollViewer控件,另外一種是使用TranslateTransform平移變換來實現。

一、ScrollViewer控件直接設置HorizontalScrollBarVisibility="Auto"就可以水平滾了

 <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
<TextBlock x:Name="ApplicationTitle" Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
<ScrollViewer Width="480"
HorizontalScrollBarVisibility
="Auto"><TextBlock x:Name="PageTitle" Text="這個名字好像有點長" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
</ScrollViewer>
</StackPanel>

二、使用TranslateTransform平移變換來實現,使用這種方法就不會產生ScrollViewer的那種滾動效果,就是你把文字撥到哪,它就定在哪。

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<StackPanel x:Name="ContentPanel2" Background="Black"
ManipulationDelta
="ContentPanel2_ManipulationDelta" Margin="0,0,-941,447">
<TextBlock Text="這個也有點長,但是沒有慣性滾動的。" Foreground="White" FontSize="100" />
</StackPanel>
</Grid>
 public partial class MainPage : PhoneApplicationPage
{
//創建一個平移變換的對象
private TranslateTransform transform = new TranslateTransform();
public MainPage()
{
InitializeComponent();
//設置StackPanel的變換屬性爲平移變換
ContentPanel2.RenderTransform = transform;

}

private void ContentPanel2_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{
//X軸移動
transform.X +=e.DeltaManipulation.Translation.X;
}

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章