【WPF】实现Winform中ListView效果(ListBox横向排列)

复制代码
    <ListBox Name="lstFileManager" Background ="Transparent" ItemsSource="{Binding}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Auto" ScrollViewer.CanContentScroll="True">
        <ListBox.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapPanel/>
            </ItemsPanelTemplate>
        </ListBox.ItemsPanel>
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Grid Margin="10" Width="100" Height="120">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto" ></RowDefinition>
                        <RowDefinition Height="Auto" ></RowDefinition>
                    </Grid.RowDefinitions>
                    <Image Source="{Binding Pic}" HorizontalAlignment="Center" VerticalAlignment="Center" Width="100" Height="100"/>
                    <TextBlock Text="{Binding Name}" Grid.Row="1" VerticalAlignment="Center" HorizontalAlignment="Center" Height="20"/>
                </Grid>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>
复制代码

 

<DataTemplate>里可以添加任意控件,共同组成一个ListBoxItem。

<DataTemplate>的内容可以写到 <Window.Resources>里,绑定到ItemTemplate属性!

 <ListBox Name="lstFileManager" Style="{StaticResource ListViewCtrl}" ItemTemplate="{StaticResource LBItemTemplate}">

 

 

复制代码
public class LVData
{
        public string Name { get; set; }
        public string Pic { get; set; }
}

ObservableCollection<LVData> LVDatas = new ObservableCollection<LVData>();
     
public void BindFileManager()
{
        lstFileManager.ItemsSource = LVDatas;
 }
复制代码

 

数据绑定

BindFileManager();
LVDatas.Add(new LVData { Name = "图片", Pic = "http://www.google.com/intl/en_ALL/images/logo.gif" });
LVDatas.Add(new LVData { Name = "图片", Pic = "http://www.google.com/intl/en_ALL/images/logo.gif" });

 

参考:https://blog.csdn.net/qq_18995513/article/details/54644856

posted @   不溯流光  阅读(1194)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示