Für UWP brauche ich eine andere Größe für die Breite einer Spalte in einem Grid
. Außerdem sollte der Wert auf dem Tablet und auf dem Smartphone unterschiedlich sein.Kann OnIdiom und OnPlatform in XAML (Xamarin.Forms) gemischt werden?
Der folgende Code stürzt die App
<ColumnDefinition>
<ColumnDefinition.Width>
<OnIdiom.Phone>
<OnPlatform x:TypeArguments="GridLength" iOS="*" Android="*" WinPhone="100" />
</OnIdiom.Phone>
<OnIdiom.Tablet>
<OnPlatform x:TypeArguments="GridLength" iOS="*" Android="*" WinPhone="200" />
</OnIdiom.Tablet>
</ColumnDefinition.Width>
</ColumnDefinition>
mit
Typ OnIdiom.Phone nicht http://xamarin.com/schemas/2014/forms
Der Code in Xmlns gefunden ist in einer ViewCell
. Also kann ich keine zusätzliche ResourceDictionary
verwenden und auch OnSizeAllocated()
ist nicht im Code hinter der Datei verfügbar.
Ist es möglich, OnIdiom
und OnPlatform
zusammen zu verwenden?
Ich habe versucht, die App auf dem lokalen Rechner auszuführen. Hier wird die 200er Breite nicht eingehalten. Sollte es nicht in die Kategorie "Tablet" fallen? – testing
'Device.OS' ist' Windows' und 'Device.Idiom' ist' Desktop'. Gibt es dafür Definitionen im XAML? 'WinPhone' hat vorher gut funktioniert. – testing
Unterstützung für 'Desktop' in OnIdiom vor ein paar Tagen gelandet https://github.com/xamarin/Xamarin.Forms/pull/420. Das Update wird in der kommenden 2.3.4-pre1 vorhanden sein –