我正在使用Xamarin Forms创建一个应用程序。我的<Grid / >
里面有一个<Image/>
。即使没有图像存储在图像中,图像也是200px高。如果<Image/>
标签中没有存储图像,如何将此网格折叠为0px?
<Grid x:Name="createGrid">
<Grid.RowDefinitions>
<RowDefinition Height="200"/>
</Grid.RowDefinitions>
<Image x:Name="Main Image" Grid.Row="0"/>
</Grid>
答案 0 :(得分:3)
创建如下所示的视图模型
public class ViewModel
{
ImageSource imagePath;
public ImageSource ImagePath
{
get { return imagePath;}
set
{
imagePath = value;
if (imagePath != null)
{
GridSize = 100;
}
else
{
GridSize = 0;
}
}
}
public int GridSize { get; set; }
}
在页面
中将此模型设置为Binding上下文ViewModel _MyModel = new ViewModel() { };
BindingContext = _MyModel;
InitializeComponent();
在Xaml页面中绑定模型
<Grid HorizontalOptions="Center" VerticalOptions="Center" HeightRequest="{Binding GridSize}" WidthRequest="{Binding GridSize}" >
<Image Source="{Binding ImagePath}"/>
</Grid>