在android & iOS中存在不同的觀點。請幫助我了解這是否是默認的平臺行為?
代碼:
<Grid>
<Grid.RowDefinitions>/span>
<RowDefinition
Height="Auto"/span> />
<RowDefinition
Height="Auto"/span> />
<RowDefinition
Height="Auto"/span> />
</Grid.RowDefinitions>
<Label grid. row="0" Text={Binding FirstName}/>/span>
<Label grid. row="1" Text={Binding LastName }/>
<Label grid. row="2" Text={Binding Email }/>
</Grid>
如果LastName在android中是空的,它會在2號網格中留下空白,如下所示
而在iOS中,如果LastName是空的,UI會調整如下
在iOS中,如果LastName是空的,UI會調整如下
歡迎任何幫助!
uj5u.com熱心網友回復:
在這種情況下嘗試使用StackLayout。根據我的經驗,如果標簽是空的,它將自動調整大小。
uj5u.com熱心網友回復:
不管變數中的內容是什么,它都會留下空間。試著使用一個 "非空轉換器 "來解決你的問題。
public class IsNotNullConverter : IValueConverter
{
public object Convert(object? value, Type? targetType, object? parameter, CultureInfo? culture) => ! ConvertInternal(value);
內部靜態bool ConvertInternal(object? value) =>
value == null ||(value是字串str && string.IsNullOrWhiteSpace(str))。
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
拋出一個新的不支持例外()。
}
}
如何在你的代碼中使用它。
<Label grid.row="1" Text={Binding LastName} IsVisibile="{Binding LastName, Converter="{x:StaticResource NotNullConverter}"}"/>
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/329109.html
標籤:
上一篇:當使用帶有Label'svisibilityXamarinforms的轉換器時,如何將默認值設定為false。
下一篇:動態生成的深層物件

