Формы Xamarin: каков правильный формат свойства OnIdiom высоты RowDefinition?
У меня есть 2 строки внутри сетки, так как первая строка имеет фиксированный размер. Я пытаюсь применитьOnIdiom
особенность здесь. Пробовал, как показано ниже:
<Grid.RowDefinitions>
<RowDefinition>
<RowDefinition.Height>
<OnIdiom x:TypeArguments="x:Double">
<OnIdiom.Phone>30</OnIdiom.Phone>
<OnIdiom.Tablet>60</OnIdiom.Tablet>
</OnIdiom>
</RowDefinition.Height>
</RowDefinition>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
Но в списке ошибок появляется следующая ошибка:
No property, bindable property, or event found for 'Height', or mismatching type between value and property.
Каков правильный формат свойства OnIdiom высоты RowDefinition?
2 ответа
Решение
Вы можете использовать OnIdiom
расширение разметки:
<RowDefinition Height="{OnIdiom Phone=30, Tablet=60}"/>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="{OnIdiom Phone=30, Tablet=60}" />
<RowDefinition Height="auto" />
</Grid.RowDefinitions>
<StackLayout
Grid.Row="0"
BackgroundColor="Blue"
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand" />
</Grid>