使用目录中的图像填充列表框
本文关键字:图像 填充 列表 | 更新日期: 2023-09-27 18:20:57
我对编程和WPF都有点陌生。我知道这很容易,但到目前为止我还没有尝试过。。。。。我想用文件夹中的图像填充列表框。我还需要知道如何强制我的列表框不允许滚动到一边。到目前为止,我还没有偶然发现任何似乎有效的东西。
这是我的C#代码,它将所选文件夹中的文件添加到列表中。基本上,我希望列表框用于保存用户选择作为背景的图片的历史记录。
IList<Bitmap> HistoryImages = new List<Bitmap>();
foreach(String imagefile in Directory.GetFiles( @"C:'ProgramData'etc" ))
{
HistoryImages.Add( new Bitmap( imagefile) );
}
找到了对我有用的东西!XAML代码:
<ListBox Name="ImageLog" Background="Transparent" IsEnabled="True"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollBarVisibility="Hidden"
ItemsSource="{Binding Path=Image}" BorderThickness="0"
SelectionChanged="ImageLog_SelectionChanged_1">
</ListBox>
C#代码:
foreach(string myFile in Directory.GetFiles( @"C:'ProgramData'MyApp" ) )
{
System.Windows.Controls.Image myLocalImage = new System.Windows.Controls.Image(); ;
myLocalImage.Height = 200;
myLocalImage.Margin = new Thickness( 5 );
BitmapImage myImageSource = new BitmapImage();
myImageSource.BeginInit();
myImageSource.UriSource = new Uri( @"file:///" + myFile );
myImageSource.EndInit();
myLocalImage.Source = myImageSource;
filePath.Add( myFile );
ImageLog.Items.Add(myLocalImage);
}
这需要数据绑定和数据模板的基础知识。(如果你阅读并理解了所有你应该能够做到的。)
关于滚动,将ScrollViewer.HorizontalScrollBarVisibility
设置为ListBox
到Disabled
的附加属性