Derzeit ich folgende XAML eine Listenansicht erstellt haben mitXamarin Forms Zellmanipulation RTL
<ListView x:Name="_lstMenu" VerticalOptions="FillAndExpand" BackgroundColor="Transparent">
<ListView.ItemTemplate>
<DataTemplate>
<ImageCell Text="{Binding Title}" ImageSource="{Binding IconSource}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
Was ich versuche zu tun ist, wenn die Sprache auf Arabisch geschaltet wird, um die gesamte Benutzererfahrung rechts- machen nach links orientiert. Um das zu tun, verwende ich die RotateYTo (180) -Methode.
protected override void rotateElementsY(int rotationY)
{
base.rotateElementsY(rotationY);
foreach (View sub in subviews())
{
sub.RotateYTo(rotationY);
}
}
private View[] subviews()
{
View[] _subs = new View[] {
imgUser, lblGreetings, lblUserName, lstMenu, stkBottom};
return _subs;
}
Es funktioniert soweit gut, mit Ausnahme der Imagecell als ich nur in der Lage bin es in links-nach-rechts-Richtung nur anzuzeigen, und nicht in der Lage jeden der Zelle des Kindes zu drehen (Label, Bild) .
PS: Ich habe auch versucht, den arabischen Text der Zelle in umgekehrter Reihenfolge nach dem Spiegeln der Listenansicht zu schreiben, aber es sieht immer noch nicht angemessen aus.