неопределенная ссылка на WinMain@16
или аналогичную «необычную» main()
ссылку на точку входа (особенно для visual-studio ).
Вы возможно, пропустили, чтобы выбрать правильный тип проекта с вашей реальной IDE. IDE может захотеть связать, например. Проекты приложений Windows для такой функции точки входа (как указано в недостающей ссылке выше) вместо обычной int main(int argc, char** argv);
.
Если ваша среда IDE поддерживает Plain Console Projects , вы может захотеть выбрать этот тип проекта вместо проекта приложения Windows.
Здесь case1 и case2 обрабатываются более подробно из реальный мир проблема.
Проблема не в DataContext, а просто в том, как WPF загружает изображения из файлов.
Когда вы привязываете свойство Source
элемента управления Image к строке, содержащей путь к файлу, WPF внутренне создает новый объект BitmapFrame из пути в основном следующим образом:
string path = ...
var bitmapImage = BitmapFrame.Create(new Uri(path));
К сожалению, это сохраняет файл изображения, открытый WPF, так что вы не можете его удалить.
Чтобы получить вокруг этого вы должны изменить тип свойства изображения на ImageSource
(или производный тип) и загрузить изображение вручную, как показано ниже.
public ImageSource ImageSource { get; set; } // omitted OnPropertyChanged for brevity
private ImageSource LoadImage(string path)
{
var bitmapImage = new BitmapImage();
using (var stream = new FileStream(path, FileMode.Open))
{
bitmapImage.BeginInit();
bitmapImage.CacheOption = BitmapCacheOption.OnLoad;
bitmapImage.StreamSource = stream;
bitmapImage.EndInit();
bitmapImage.Freeze(); // optional
}
return bitmapImage;
}
...
ImageSource = LoadImage(@"C:\Users\Dave\Desktop\Duplicate\Swim.JPG");