проблема с Image в WPF
От: netalex  
Дата: 15.08.07 09:19
Оценка:
Я столкнулся с такой проблемой:

Есть следующий код в XAML:
<Label Name="lblImageSource11" Content="" Height="0" Width="0" />
<Image Name="image1" MouseDown="MenuImage_MouseDown" Source="{Binding Content, ElementName=lblImageSource1}"/>

В некоторый период времени мне необходимо заменить файл, рисунок, на который ссылается в данный момент Image, при помощи команды File.Copy(...).

Для этого я сначала освобождаю ресурс, файл, таким путем:
this.lblImageSource11.Content = "";

Проблема в том, что даже в этом случае при копировании у меня выбрасывается ошибка, что ресурс занят программой.

Что можно сделать в данном случае, чтобы решить эту проблему?

15.08.07 14:40: Перенесено модератором из '.NET' — TK
Re: проблема с Image в WPF
От: TK Лес кывт.рф
Дата: 15.08.07 10:17
Оценка:
Здравствуйте, netalex, Вы писали:

N>Проблема в том, что даже в этом случае при копировании у меня выбрасывается ошибка, что ресурс занят программой.

N>Что можно сделать в данном случае, чтобы решить эту проблему?

Видно елемент <Image /> не может загрузить новую картинку и продолжает отображать предыдущую.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[2]: проблема с Image в WPF
От: netalex  
Дата: 17.08.07 13:43
Оценка:
Здравствуйте, TK, Вы писали:

TK>Здравствуйте, netalex, Вы писали:


N>>Проблема в том, что даже в этом случае при копировании у меня выбрасывается ошибка, что ресурс занят программой.

N>>Что можно сделать в данном случае, чтобы решить эту проблему?

TK>Видно елемент <Image /> не может загрузить новую картинку и продолжает отображать предыдущую.


Нет, при этом картинки я мог без проблем загружать новые и просматривать их.
Если кому интересно, я нашел решение проблемы:

<Image Name="image1" />

private void Button1_Click(object sender, RoutedEventArgs e)
{
FileStream file = new FileStream("c:\image1.jpg", FileMode.Open);
BitmapDecoder bitmap = BitmapDecoder.Create(file, BitmapCreateOptions.None, BitmapCacheOption.OnLoad);
this.image1.Source = bitmap.Frames[0];
file.Close();
}

После этого можно без проблем работать с файлом
Re[3]: проблема с Image в WPF
От: Herclia США  
Дата: 23.08.07 21:26
Оценка:
Здравствуйте, netalex, Вы писали:

N>Здравствуйте, TK, Вы писали:


TK>>Здравствуйте, netalex, Вы писали:


N>>>Проблема в том, что даже в этом случае при копировании у меня выбрасывается ошибка, что ресурс занят программой.

N>>>Что можно сделать в данном случае, чтобы решить эту проблему?

TK>>Видно елемент <Image /> не может загрузить новую картинку и продолжает отображать предыдущую.


N>Нет, при этом картинки я мог без проблем загружать новые и просматривать их.

N>Если кому интересно, я нашел решение проблемы:

N><Image Name="image1" />


N>private void Button1_Click(object sender, RoutedEventArgs e)

N>{
N> FileStream file = new FileStream("c:\image1.jpg", FileMode.Open);
N> BitmapDecoder bitmap = BitmapDecoder.Create(file, BitmapCreateOptions.None, BitmapCacheOption.OnLoad);
N> this.image1.Source = bitmap.Frames[0];
N> file.Close();
N>}

N>После этого можно без проблем работать с файлом


That cod is working !!!


<Image Source="{Binding Path=Text, ElementName=textPathImage, Mode=Default}"/>
<TextBox x:Name="textPathImage" Text="TextBlock" TextWrapping="Wrap"/>

When you send new data to <TextBox /> we can see new Image, try copy some path of image...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.