内容简介:在 WPF 很多时候都需要使用 ListView 但是默认的列表是垂直的,如果需要使用水平的,就需要使用 ItemsPanel 设置使用的类先添加一些代码到资源,下面就可以使用这里的资源添加一个 ListView 然后通过 ItemTemplate 设置界面
在 WPF 很多时候都需要使用 ListView 但是默认的列表是垂直的,如果需要使用水平的,就需要使用 ItemsPanel 设置使用的类
先添加一些代码到资源,下面就可以使用这里的资源
<Grid.Resources> <XmlDataProvider x:Key="InventoryData" XPath="Books"> <x:XData> <Books xmlns=""> <Book ISBN="0-7356-0562-9" Stock="in" Number="9"> <Title>XML in Action</Title> <Summary>XML Web Technology</Summary> </Book> <Book ISBN="0-7356-1370-2" Stock="in" Number="8"> <Title>Programming Microsoft Windows With C#</Title> <Summary>C# Programming using the .NET Framework</Summary> </Book> <Book ISBN="0-7356-1288-9" Stock="out" Number="7"> <Title>Inside C#</Title> <Summary>C# Language Programming</Summary> </Book> <Book ISBN="0-7356-1377-X" Stock="in" Number="5"> <Title>Introducing Microsoft .NET</Title> <Summary>Overview of .NET Technology</Summary> </Book> <Book ISBN="0-7356-1448-2" Stock="out" Number="4"> <Title>Microsoft C# Language Specifications</Title> <Summary>The C# language definition</Summary> </Book> </Books> </x:XData> </XmlDataProvider> </Grid.Resources>
添加一个 ListView 然后通过 ItemTemplate 设置界面
<ListView ItemsSource="{Binding Source={StaticResource InventoryData}, XPath=Book}"> <ListView.ItemTemplate> <DataTemplate> <Grid Background="#5a5a5a" Margin="10,10,10,10"> <StackPanel Margin="2,2,2,2"> <TextBlock Text="{Binding XPath=Title}" /> <TextBlock Text="{Binding XPath=@ISBN}" /> </StackPanel> </Grid> </DataTemplate> </ListView.ItemTemplate> </ListView>
这里的 DataTemplate 传入的 DataContext 就是 ItemsSource 绑定的列表的每一项
如绑定了 List
于是在这里就可以通过绑定 DataContext 的属性绑定界面
上面代码运行可以看到列表是垂直的
如果需要修改为水平的,可以通过 ItemsPanel 修改
<ListView.ItemsPanel> <ItemsPanelTemplate> <StackPanel Orientation="Horizontal" /> </ItemsPanelTemplate> </ListView.ItemsPanel>
代码全部都在 xaml 写,因为神树说在后台写不好
<Grid> <Grid.Resources> <XmlDataProvider x:Key="InventoryData" XPath="Books"> <x:XData> <Books xmlns=""> <Book ISBN="0-7356-0562-9" Stock="in" Number="9"> <Title>XML in Action</Title> <Summary>XML Web Technology</Summary> </Book> <Book ISBN="0-7356-1370-2" Stock="in" Number="8"> <Title>Programming Microsoft Windows With C#</Title> <Summary>C# Programming using the .NET Framework</Summary> </Book> <Book ISBN="0-7356-1288-9" Stock="out" Number="7"> <Title>Inside C#</Title> <Summary>C# Language Programming</Summary> </Book> <Book ISBN="0-7356-1377-X" Stock="in" Number="5"> <Title>Introducing Microsoft .NET</Title> <Summary>Overview of .NET Technology</Summary> </Book> <Book ISBN="0-7356-1448-2" Stock="out" Number="4"> <Title>Microsoft C# Language Specifications</Title> <Summary>The C# language definition</Summary> </Book> </Books> </x:XData> </XmlDataProvider> </Grid.Resources> <ListView ItemsSource="{Binding Source={StaticResource InventoryData}, XPath=Book}"> <ListView.ItemsPanel> <ItemsPanelTemplate> <StackPanel Orientation="Horizontal" /> </ItemsPanelTemplate> </ListView.ItemsPanel> <ListView.ItemTemplate> <DataTemplate> <Grid Background="#5a5a5a" Margin="10,10,10,10"> <StackPanel Margin="2,2,2,2"> <TextBlock Text="{Binding XPath=Title}" /> <TextBlock Text="{Binding XPath=@ISBN}" /> </StackPanel> </Grid> </DataTemplate> </ListView.ItemTemplate> </ListView> </Grid>
以上所述就是小编给大家介绍的《WPF 使用 ItemsPanel 修改方向》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。