
Problema con Actualización de Imagen - C# WPF
Publicado por Mario (3 intervenciones) el 27/10/2014 23:16:20
Buenas tardes:
Tengo un Listview que contiene las Areas de un Local (Codigo y Descripcion) y a medida que lo recorro se van bindeando los campos Textbox, CheckBox e Image, perfectamente.
Cuando edito y grabo un registro (Area) sin tocar la imagen, funciona perfecto.
Mi problema está en que cuando Cargo una nueva imagen y grabo, todos los registros (Areas) muestran esta misma imagen.
Este problema es solo al mostrar porque cuando salgo y entro a la aplicación los valores de los campos Image (SQL) no se alteran en absoluto.
Mi código es:
XAML:
C#:
Cargar Foto:
La carga funciona perfectamente.
Qué estará pasando??????
Gracias de antemano.
Tengo un Listview que contiene las Areas de un Local (Codigo y Descripcion) y a medida que lo recorro se van bindeando los campos Textbox, CheckBox e Image, perfectamente.
Cuando edito y grabo un registro (Area) sin tocar la imagen, funciona perfecto.
Mi problema está en que cuando Cargo una nueva imagen y grabo, todos los registros (Areas) muestran esta misma imagen.
Este problema es solo al mostrar porque cuando salgo y entro a la aplicación los valores de los campos Image (SQL) no se alteran en absoluto.
Mi código es:
XAML:
1
2
<Image x:Name="ImgFoto" Source="{Binding Foto}" Stretch="Fill" HorizontalAlignment="Left" Height="181"
Margin="243,371,0,0" VerticalAlignment="Top" Width="250" Grid.ColumnSpan="2"/>
C#:
Cargar Foto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private void BtnCargarFoto_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog OD = new OpenFileDialog();
OD.Filter = "jpg(*.jpg)|*.jpg|png(*.png)|*.png|gif(*.gif)|*.gif|bmp(*.bmp)|*.bmp|All Files(*.*)|*.*";
if (OD.ShowDialog() == true)
{
using (Stream stream = OD.OpenFile())
{
bitCoder = BitmapDecoder.Create(stream, BitmapCreateOptions.PreservePixelFormat,
BitmapCacheOption.OnLoad);
ImgFoto.Source = bitCoder.Frames[0];
}
System.IO.FileStream fs = new System.IO.FileStream(OD.FileName, System.IO.FileMode.Open);
foto = new byte[Convert.ToInt32(fs.Length.ToString())];
fs.Read(foto, 0, foto.Length);
}
}
La carga funciona perfectamente.
Qué estará pasando??????
Gracias de antemano.
Valora esta pregunta


0