zoukankan      html  css  js  c++  java
  • WPF ListBox 自动排列

    网上一堆ListBox代码,但是不是只能横向就是只能纵向,没办法,只好自己写一个,希望能帮到大家,废话不多说 直接上代码

    前台:

    <Window x:Class="WpfApplication1.showpifu"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="showpifu" Height="400" Width="490" Loaded="Window_Loaded">
    <Grid>
    <StackPanel>
    <ListBox x:Name="lstImgs" Height="350">
    <ListBox.Template>
    <ControlTemplate TargetType="{x:Type ListBox}">
    <ScrollViewer VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Disabled">
    <WrapPanel Orientation="Horizontal" IsItemsHost="True">
    </WrapPanel>
    </ScrollViewer>
    </ControlTemplate>
    </ListBox.Template>
    <ListBox.ItemTemplate>
    <DataTemplate>
    <Border BorderThickness="0,0,0,0" BorderBrush="Black" Width="150" Height="100">
    <Image MouseMove="Image_MouseMove" MouseLeave="Image_MouseLeave" Stretch="Fill" Source="{Binding Path=FullPath}"/>
    </Border>
    </DataTemplate>
    </ListBox.ItemTemplate>
    </ListBox>
    </StackPanel>
    </Grid>
    </Window>

    后台:

    /// <summary>
    /// showpifu.xaml 的交互逻辑
    /// </summary>
    public partial class showpifu : Window
    {
    public showpifu()
    {
    InitializeComponent();
    }

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {

    DataTable pic = new DataTable();
    pic.Columns.Add("FullPath");
    pic.Rows.Add("http://img.kuuke.com/kuuke/doing/201211/20_23_06_46_230.jpg");
    pic.Rows.Add("http://img.kuuke.com/kuuke/doing/201211/20_23_06_46_230.jpg");
    pic.Rows.Add("http://img.kuuke.com/kuuke/doing/201211/20_23_06_46_230.jpg");
    pic.Rows.Add("http://img.kuuke.com/kuuke/doing/201211/20_23_06_46_230.jpg");
    pic.Rows.Add("http://img.kuuke.com/kuuke/doing/201211/20_23_06_46_230.jpg");
    pic.Rows.Add("http://img.kuuke.com/kuuke/doing/201211/20_23_06_46_230.jpg");
    pic.Rows.Add("http://img.kuuke.com/kuuke/doing/201211/20_23_06_46_230.jpg");
    pic.Rows.Add("http://img.kuuke.com/kuuke/doing/201211/20_23_06_46_230.jpg");
    pic.Rows.Add("http://img.kuuke.com/kuuke/doing/201211/20_23_06_46_230.jpg");
    pic.Rows.Add("http://img.kuuke.com/kuuke/doing/201211/20_23_06_46_230.jpg");
    pic.Rows.Add("http://img.kuuke.com/kuuke/doing/201211/20_23_06_46_230.jpg");
    this.lstImgs.ItemsSource = pic.DefaultView;

    }
    private void Image_MouseMove(object sender, System.Windows.Input.MouseEventArgs e)
    {
    Image image = sender as Image;
    Border border = image.Parent as Border;
    border.BorderThickness = new Thickness(2, 2, 2, 2);
    }

    private void Image_MouseLeave(object sender, System.Windows.Input.MouseEventArgs e)
    {
    Image image = sender as Image;
    Border border = image.Parent as Border;
    border.BorderThickness = new Thickness(0, 0, 0, 0);
    }
    }

    代码比较简单,我就不说明了,看不懂的再留言问我吧.

    这东西看简单,其实真的还是用了很多自己的时间,转载的童鞋,记得保留我的连接http://www.cnblogs.com/linyijia/archive/2013/03/21/2973012.html,不做纯粹的伸手党哦!

  • 相关阅读:
    ubuntu20.04安装python pip
    linux tar包追加问题
    [Linux]主机无法ping通虚拟机,但虚拟机却可以ping通主机
    安装pygraphviz/graphviz报错
    elasticsearch Delete (根据条件删除)
    python2 vs python3的区别汇总
    python实现elasticsearch的update操作,不改变原数据,增加字段,或者查询更新
    python bulk批量保存elasticsearch数据
    python rpc 简单实现自带包xmlrpc
    Python获取当前运行函数的名称、类方法名称
  • 原文地址:https://www.cnblogs.com/linyijia/p/2973012.html
Copyright © 2011-2022 走看看