我有一列的列表视图,但我想像中继器一样分成两部分。在 xamarin.forms 中可以吗?
<ContentPage.Content>
<StackLayout>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30*" />
<ColumnDefinition Width="30*" />
<ColumnDefinition Width="30*" />
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Grid.Row="0" Text="ID"/>
<Label Grid.Column="1" Grid.Row="0" Text="USERS"/>
<Label Grid.Column="2" Grid.Row="0" Text="PASSWORD"/>
</Grid>
<ListView x:Name="listx">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30*" />
<ColumnDefinition Width="30*" />
<ColumnDefinition Width="30*" />
</Grid.ColumnDefinitions>
<Label Grid.Column="0" Text="{Binding id}"/>
<Label Grid.Column="1" Text="{Binding usr}"/>
<Label Grid.Column="2" Text="{Binding pass}"/>
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
</ContentPage.Content>
</ContentPage>
型号
public class UserModel
{
[PrimaryKey,AutoIncrement]
public int id { get; set; }
public string usr { get; set; }
public string pass { get; set; }
}
contentPage.xaml.cs
public partial class UserPage : ContentPage
{
ObservableCollection<UserModel> Usr_List = new ObservableCollection<UserModel>();
public UserPage ()
{
InitializeComponent ();
//test data population
this.Usr_List.Add(new UserModel { id = 1, usr = "test", pass = "test" });
this.Usr_List.Add(new UserModel { id = 2, usr = "test1", pass = "test1" });
this.Usr_List.Add(new UserModel { id = 3, usr = "test2", pass = "test2" });
listx.ItemsSource = this.Usr_List;
}
}
我认为您可以使用 ViewCell 创建 DataTemplate。将网格添加到 ViewCell,行数 = 1,列数 = 2
类似这个示例
<ListView x:Name="listView">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid>
...
<Label Text="{Binding Name}" FontAttributes="Bold" />
<Label Grid.Column="1" Text="{Binding Age}" />
<Label Grid.Column="2" Text="{Binding Location}" ... />
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
这里你可以找到描述
这不再是一个相关的问题,但答案是 CollectionView ;)
您应该为此创建自己的控件,或者查看 FlowListView 插件
是的,遗憾的是,Windows 应用程序的 CollectionView 已损坏: