【发布时间】:2020-02-02 00:08:08
【问题描述】:
我有一个 Xamarin 应用程序,但无法识别 XML。我在 Windows Store Apps 上做了一堆 XAML,但 Xamarin 中的差异看起来很奇怪。我的 MainPage 上有一个部分的以下代码,我似乎无法让背景网格改变 5 个图像的大小。无论我更改什么,主网格和 gridview.itemtemplate 都保持固定大小。因此,静态图像位于网格的右侧。我将尝试附上结果的屏幕截图。无论如何,我希望背景网格自动调整到水平 StackLayout 的大小。这只是为了测试,因为我的最终解决方案是嵌入另一个基于可观察集合的 GridView。仅使用静态图像进行测试。
<ContentPage.Content>
<Grid BackgroundColor="{Binding BackgroundColor}">
<ScrollView>
<controls:GridView
ItemSelected="{Binding SelectedRack,Mode=TwoWay}"
ItemsSource="{Binding Racks}"
MaxColumns="{Binding MaxColumns}"
ItemTappedCommand="{Binding OnItemTappedCommand}"
WidthRequest="{Binding WidthRequest}"
TileHeight="{Binding TileHeight}"
ColumnSpacing="10"
Padding="5"
RowSpacing="5"
VerticalOptions="Start">
<controls:GridView.ItemTemplate>
<DataTemplate>
<Grid Margin="5,5,0,0" BackgroundColor="Pink">
<StackLayout Orientation="Vertical" HorizontalOptions="StartAndExpand">
<StackLayout Orientation="Horizontal" Margin="10,10,10,10" HorizontalOptions="Center" VerticalOptions="Center" BackgroundColor="{Binding State,Converter={StaticResource SensorStateToBackgroundColorConverter}}">
<Image
HeightRequest="{Binding TargetHeight}"
WidthRequest="{Binding TargetWidth}"
Source="{Binding ImageName}"/>
<Image
HeightRequest="{Binding TargetHeight}"
WidthRequest="{Binding TargetWidth}"
Source="{Binding ImageName}"/>
<Image
HeightRequest="{Binding TargetHeight}"
WidthRequest="{Binding TargetWidth}"
Source="{Binding ImageName}"/>
<Image
HeightRequest="{Binding TargetHeight}"
WidthRequest="{Binding TargetWidth}"
Source="{Binding ImageName}"/>
<Image
HeightRequest="{Binding TargetHeight}"
WidthRequest="{Binding TargetWidth}"
Source="{Binding ImageName}"/>
</StackLayout>
<Label Text="{Binding Name}" FontSize="Large" FontAttributes="Bold" HorizontalTextAlignment="Center" VerticalTextAlignment="End" TextColor="Black"/>
</StackLayout>
</Grid>
</DataTemplate>
</controls:GridView.ItemTemplate>
</controls:GridView>
</ScrollView>
</Grid>
</ContentPage.Content>
【问题讨论】:
-
GridView 在 Xamarin 中不存在。它可能是第 3 方控件,如果您发现了错误,您应该联系发布该错误的人。当然在这里问是合法的。
标签: xaml xamarin xamarin.forms