C# 如何在UWP上创建自定义ListView
我已经在C#上设置了ListView,问题是XAML。我当前的代码是这样工作的:C# 如何在UWP上创建自定义ListView,c#,xaml,uwp,win-universal-app,uwp-xaml,C#,Xaml,Uwp,Win Universal App,Uwp Xaml,我已经在C#上设置了ListView,问题是XAML。我当前的代码是这样工作的: <ListView x:Name="List" ItemsSource="{Binding}" SelectionChanged="List_SelectionChanged"> <ListView.ItemTemplate> <DataTemplate> <Grid Margin="11" Width="460">
<ListView x:Name="List" ItemsSource="{Binding}" SelectionChanged="List_SelectionChanged">
<ListView.ItemTemplate>
<DataTemplate>
<Grid Margin="11" Width="460">
<StackPanel Orientation="Vertical" >
<Image Width="100" Height="100"
Source="{Binding Way}"/>
</StackPanel>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
但我想这样做:
对于您的场景,我认为您可以使用
GridView
而不是ListView
。在行和列中显示数据集合,而ListView显示垂直堆叠的集合
默认情况下,GridView
使用作为其属性,当使用ItemsWrapGrid
时,我们可以使用属性设置属性,以将最大列限制为2
例如:
<GridView ItemsSource="{Binding}" SelectionChanged="GridView_SelectionChanged">
<GridView.ItemTemplate>
<DataTemplate>
<Grid Width="460" Margin="11">
<StackPanel Orientation="Vertical">
<Image Width="100" Height="100" Source="{Binding Way}" />
</StackPanel>
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsWrapGrid MaximumRowsOrColumns="2" Orientation="Horizontal" />
</ItemsPanelTemplate>
</GridView.ItemsPanel>
</GridView>
对于您的场景,我认为您可以使用
GridView
而不是ListView
。在行和列中显示数据集合,而ListView显示垂直堆叠的集合
默认情况下,GridView
使用作为其属性,当使用ItemsWrapGrid
时,我们可以使用属性设置属性,以将最大列限制为2
例如:
<GridView ItemsSource="{Binding}" SelectionChanged="GridView_SelectionChanged">
<GridView.ItemTemplate>
<DataTemplate>
<Grid Width="460" Margin="11">
<StackPanel Orientation="Vertical">
<Image Width="100" Height="100" Source="{Binding Way}" />
</StackPanel>
</Grid>
</DataTemplate>
</GridView.ItemTemplate>
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsWrapGrid MaximumRowsOrColumns="2" Orientation="Horizontal" />
</ItemsPanelTemplate>
</GridView.ItemsPanel>
</GridView>
你能详细说明一下吗?前两个框应该是列表框中的一项吗?由于Source=“{Binding Way}”
OneWay TwoWay?@KoryGill“Way”将路径绑定到我的资产文件夹,因此您的代码无法编译,每个框都是我的listview的一项,我尝试使用ListBox,但无法使用“ItemTemplate”。这个应用程序展示正是我想要的,但在这种情况下,他可能使用网格啊……这让我很反感。@KoryGill对不起?我想对于UWP,你需要可变大小的Wrapgrid。你能详细说明一下吗?前两个框应该是列表框中的一项吗?由于Source=“{Binding Way}”
OneWay TwoWay?@KoryGill“Way”将路径绑定到我的资产文件夹,因此您的代码无法编译,每个框都是我的listview的一项,我尝试使用ListBox,但无法使用“ItemTemplate”。这个应用程序展示正是我想要的,但在这种情况下,他可能使用网格啊……这让我很反感。@KoryGill对不起?我想对于UWP,你需要可变大小的Wrapgrid。