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,不做純粹的伸手黨哦!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM