Se stai usando i template in Visual Studio 2013 per applicazioni Xamarin, la versione di Xamarin.Forms è un po 'datato e non supporta lo scorrimento. Per risolvere questo problema, basta nuget 'update-package' e questo codice
public class MainPage : ContentPage
{
public MainPage()
{
Label label = new Label {
Text = "This is a very long label which I expect to scroll horizontally because it's in a ScrollView.",
Font = Font.SystemFontOfSize(24),
};
this.Content = new ScrollView {
Content = label,
Orientation = ScrollOrientation.Horizontal,
};
}
}
codice funzionerà bene su Android.
Per iOS, il codice funzionerà come previsto.
Purtroppo, alla data, per WP8 c'è un bug e l'hack è quello di aggiungere un renderer personalizzato.
using System.Windows.Controls;
using App2.WinPhone;
using Xamarin.Forms;
using Xamarin.Forms.Platform.WinPhone;
[assembly: ExportRenderer(typeof(ScrollView), typeof(FixedSVRenderer))]
namespace App2.WinPhone
{
public sealed class FixedSVRenderer : ScrollViewRenderer
{
protected override void OnModelSet()
{
base.OnModelSet();
if (Model.Orientation == ScrollOrientation.Horizontal)
{
// Enable horiz-scrolling
Control.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto;
}
}
}
}
fonte
2014-11-25 04:39:18
Puoi pubblicare il tuo codice per creare la ScrollView e impostarne il contenuto con StackLayout? – Pedro