您好。这是C#
中的Visual Studio 2010
。我使用以下方法上传了一个图像路径。路径已成功存储在数据库中,并显示上载的图像。但是,尽管导航了其他记录,但上传的图像仍会显示。未检索到其他图像,仅保留上传的图像。我在保存后尝试再次重新填充数据集,但它给出了错误:“URI为空”。除路径(photo_text.Text)之外的图像成功刷新其他文本字段。
private void uploadPhoto_Click(object sender, RoutedEventArgs e)
{
Microsoft.Win32.OpenFileDialog ofd = new Microsoft.Win32.OpenFileDialog();
ofd.FileName = ".jpg";
ofd.InitialDirectory = "C:\\Users\\Public\\Pictures";
ofd.Title = "Select passport photo to upload";
ofd.Filter = "Image Files (*.JPG)|*.jpg|All files (*.*)|*.*";
if (ofd.ShowDialog() == true)
{
pixx.Source = new BitmapImage(new Uri(ofd.FileName));
photo_text.Text = ofd.FileName;
}
}
第二种方法:
if (studentsDataSetstudentTableAdapter.Update(studentsDataSet.student) > 0)
{
MessageBox.Show("Your data has been saved!", "DATA STATUS", MessageBoxButton.OK, MessageBoxImage.Information);
studentsDataSetstudentTableAdapter.Fill(studentsDataSet.student);
pixx.Source = new BitmapImage(new Uri(photo_text.Text));
}
答案 0 :(得分:0)
在图像的图像属性中,源数据绑定到有选项的数据中的数据,“模式”应设置为“ TwoWay ”和“UpdateSourceTrigger”为“的的PropertyChanged 强>” 每次翻阅记录时图像都会改变!
答案 1 :(得分:0)
我有同样的问题。当我加载图像出现并写得很好。但是当我站在另一个寄存器中时,每个人的图像都是一样的。 在XAML中,我指示了Robert Omete,但是当我使用Mode = TwoWay或OneWayToSource时,没有图像显示为空白。
加载图片代码:
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);
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);
}
}
XAML:
<Image x:Name="ImgFoto" Source="{Binding Foto, Mode=OneWayToSource, UpdateSourceTrigger=PropertyChanged}" Stretch="Fill" HorizontalAlignment="Left"
Height="127" Margin="38,29,0,0" VerticalAlignment="Top" Width="176">
</Image>