У меня есть элемент изображения в xaml, и я хочу связать его со свойством в моей модели представления. У меня есть привязка элемента xaml Image к свойству MainImage, как показано ниже.
private Image mainImage_ = new Image();
public Image MainImage
{
get
{
return mainImage_;
}
set
{
if (mainImage_ != value)
{
mainImage_ = value;
OnPropertyChanged("MainImage");
}
}
}
Я хочу установить изображение в элемент изображения в xaml, просматривая его с компьютера, и я сделал это так.
FileOpenPicker openPicker = new FileOpenPicker();
openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
openPicker.ViewMode = PickerViewMode.Thumbnail;
openPicker.FileTypeFilter.Clear();
openPicker.FileTypeFilter.Add(".bmp");
openPicker.FileTypeFilter.Add(".png");
openPicker.FileTypeFilter.Add(".jpeg");
openPicker.FileTypeFilter.Add(".jpg");
StorageFile file = await openPicker.PickSingleFileAsync();
if (file != null)
{
IRandomAccessStream fileStream = await file.OpenAsync(FileAccessMode.Read);
BitmapImage bitmapImage = new BitmapImage();
bitmapImage.SetSource(fileStream);
MainImage = bitmapImage;
new MainPage().DataContext = file;
}
MainImage = bitmapImage показывает ошибку, которую мы не можем установить напрямую. Как я могу решить эту проблему? Должен ли возвращаемый тип свойства быть строкой (путем) или изображением? Если есть другой лучший способ сделать, дайте мне знать, пожалуйста.