如果我在XAML中有一个简单的图像:
<Image
Source="{Binding ImageUrl}"
Grid.Column="0"
HorizontalOptions="EndAndExpand"
VerticalOptions="CenterAndExpand" />
文件路径正确绑定。但是,如果我将图像元素嵌套在CollectionView中,图像将不再绑定。
<CollectionView
x:Name="CV"
ItemsSource="{Binding ThumbnailPhotos}"
VerticalOptions="Center"
HorizontalOptions="Center">
<CollectionView.ItemsLayout>
<GridItemsLayout
Orientation="Vertical"
Span="2" />
</CollectionView.ItemsLayout>
<CollectionView.ItemTemplate>
<DataTemplate>
<Frame
BorderColor="LightGray"
CornerRadius="3"
HasShadow="False">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition
Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition
Height="Auto" />
</Grid.RowDefinitions>
<Image
Source="{Binding ImageUrl}"
Grid.Column="0"
HorizontalOptions="EndAndExpand"
VerticalOptions="CenterAndExpand" />
</Grid>
</Frame>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
出于测试目的,我的ViewModel中的ObservableCollection如下所示:
ThumbnailPhotos = new ObservableCollection<Thumbnail>
{
new Thumbnail(){ ImageUrl = "/Users/<myUser>/Library/Developer/CoreSimulator/Devices/68BF4E8E-DF6D-4459-B6AD-DCEDB270916B/data/Containers/Data/Application/0C205001-6DFD-4846-9E6D-415F772FCB58/Documents/Defect Photos/IMG_20190102_165617/IMG_20190102_165617.jpg" } ,
new Thumbnail(){ ImageUrl = "/Users/<myUser>/Library/Developer/CoreSimulator/Devices/68BF4E8E-DF6D-4459-B6AD-DCEDB270916B/data/Containers/Data/Application/0C205001-6DFD-4846-9E6D-415F772FCB58/Documents/Defect Photos/IMG_20190102_165617/IMG_20190102_165617.jpg" } ,
new Thumbnail(){ ImageUrl = "/Users/<myUser>/Library/Developer/CoreSimulator/Devices/68BF4E8E-DF6D-4459-B6AD-DCEDB270916B/data/Containers/Data/Application/0C205001-6DFD-4846-9E6D-415F772FCB58/Documents/Defect Photos/IMG_20190102_165617/IMG_20190102_165617.jpg" } ,
new Thumbnail(){ ImageUrl = "/Users/<myUser>/Library/Developer/CoreSimulator/Devices/68BF4E8E-DF6D-4459-B6AD-DCEDB270916B/data/Containers/Data/Application/0C205001-6DFD-4846-9E6D-415F772FCB58/Documents/Defect Photos/IMG_20190102_165617/IMG_20190102_165617.jpg" } ,
};
发布于 2019-01-08 19:03:10
错误似乎在于构建文件路径的方式。在iOS上,我最终使用了这种方法:
var docsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var photosPath = Path.Combine(docsPath, "DefectPhotos/");
if(Directory.Exists(photosPath))
{
string[] photoNames = GetFileNames(photosPath, "*.jpg");
foreach (var photoName in photoNames)
{
if (photoName.Contains(_item.DefectId))
{
thumbnailPhotos.Add(new Thumbnail() { ImageUrl = photosPath + photoName });
}
}
}
关键部分是获取文档路径的方式。我在试图加载的photoName上使用"get info“来测试图像路径。该文件路径不起作用。
https://stackoverflow.com/questions/54075493
复制相似问题