我需要 listView 中的專案具有高度,以便串列完全適合螢屏。這是我在下面給出的代碼。我嘗試將網格中行的高度設定為自定義值,但這會很好,適合某些設備的螢屏,而由于螢屏尺寸不同,其他設備會出現空白空間。
<ListView
ItemsSource="{Binding PenStocks}"
ItemSelected="Event_ItemSelected"
ItemTapped="Event_ItemTapped"
SeparatorVisibility="None"
Margin="5,5,5,0"
>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid Padding="9" ColumnSpacing="0" RowSpacing="0" HorizontalOptions="FillAndExpand" >
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.408*"/>
<ColumnDefinition Width="0.051*"/>
<ColumnDefinition Width="0.252*"/>
<ColumnDefinition Width="0.033*"/>
<ColumnDefinition Width="0.153*"/>
<ColumnDefinition Width="0.102*"/>
</Grid.ColumnDefinitions>
我能為此做些什么?請幫助我,謝謝!
uj5u.com熱心網友回復:
編輯:重寫此以使用可系結布局。
看法:
<StackLayout x:Name="ParentFlexLayout" BindableLayout.ItemsSource="{Binding Colors}" HorizontalOptions="FillAndExpand" >
<BindableLayout.ItemTemplate>
<DataTemplate>
<Frame BackgroundColor="{Binding .}" VerticalOptions="FillAndExpand"/>
</DataTemplate>
</BindableLayout.ItemTemplate>
</StackLayout>
在這里,我們使用 bindablelayout - 它非常靈活,因此您可以隨時提供它并查看它是否滿足您的需求
代碼隱藏:
public ObservableCollection<Color> Colors { get; set; } = new ObservableCollection<Color>();
public MainPage()
{
InitializeComponent();
BindingContext = this;
Colors.Add(Color.Blue);
Colors.Add(Color.Red);
Colors.Add(Color.Green);
Colors.Add(Color.Yellow);
}
結果:

uj5u.com熱心網友回復:
如果你想讓你的 listViewItem 拉伸到它的內部控制元件的高度,你可以使用
<RowDefinition Height="Auto"/>
如果你分享一些螢屏截圖會更好。
或者您可以查看以下帖子:
在 ListView 的 Grid 上使用系結屬性時,RowDefinition Height 不起作用?
uj5u.com熱心網友回復:
我嘗試在視單元中使用絕對布局,但是當我這樣做時,它也不起作用。
<AbsoluteLayout AbsoluteLayout.LayoutBounds="0,0,1,0.167" AbsoluteLayout.LayoutFlags="All">
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/424234.html
標籤:xml 列表显示 xamarin.forms 网格 列表视图项
上一篇:WPF組合框-嘗試輸入時顯示錯誤
