【发布时间】:2019-03-15 22:39:13
【问题描述】:
我正在开发从文件夹加载图像的简单 wpf 库。每个图像的文件名也是它的 ID。例如,我的目标是查看第 2 和第 3 张照片。这是我到目前为止所做的: XAML 包含列表框
<ListBox x:Name="listBox" HorizontalAlignment="Left" Height="257" Margin="46,25,0,0" VerticalAlignment="Top" Width="400" ScrollViewer.VerticalScrollBarVisibility="Visible" Grid.Column="1">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Rows="3" Columns="3"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemTemplate>
<DataTemplate>
<Image Source="{Binding}" Width="120" Margin="1" MouseLeftButtonDown="leftClickHandler"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
设置图片来源
public MainWindow() {
InitializeComponent();
descriptionModel = new DescriptionModel();
listBox.ItemsSource = Directory.EnumerateFiles(pathPhoto, "*.jpg");
}
我尝试使用 CollectionViewSource,但我不确定如何正确使用它。我尝试添加类似的内容:
ICollectionView view = CollectionViewSource.GetDefaultView(listBox.Items);
view.Filter = (o) => { return listBox.Items.GetItemAt(1); };
但我收到错误“严重代码描述项目文件行抑制状态 错误 CS0266 无法将类型“object”隐式转换为“bool”。存在显式转换(您是否缺少演员表?)” 谁能解释我做错了什么?
【问题讨论】: