2KB项目,专业的源码交易网站 帮助 收藏 每日签到

从 Oracle BLOB 字段中加载图像并显示到 WPF 图像控件

  • 时间:2019-01-23 18:48 编辑:2KB 来源:2KB.COM 阅读:437
  • 扫一扫,手机访问
  • 分享
摘要:
WPF Oracle 英文原文:Load Image from Oracle BLOB into WPF Image Control

image

上一篇文章我们介绍了将图像保存到 BLOB 字段中,今天我们要讲的是如何将这个写入的数据读出来并显示。别担心,这个教程同样很简单,这里我们会用到 DataBinding 技术,在此之前你需要先了解这项技术,而且我很懒,我不想在这里解释这个技术。

1. 创建一个新的 WPF 应用并取名为 WpfLoadOracleBlob.

2. 这里我们继续使用之前教程中用到的数据库,因此无需再创建新表。修改窗体如下图所示:

image



我知道你们大多数人都很懒,所以还是给你提供了 XAML 代码:

<Window x:Class="WpfLoadOracleBlob.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300" Loaded="Window_Loaded">
    <Grid>
        <ComboBox Height="23" Margin="12,12,12,0" Name="comboBox1" 
                  VerticalAlignment="Top" ItemsSource="{Binding}">
            <ComboBox.ItemTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding Path=ROWNUM}" />
                </DataTemplate>
            </ComboBox.ItemTemplate>
        </ComboBox>
        <Image Margin="12,41,12,12" Name="image1" Stretch="Fill" 
               Source="{Binding ElementName=comboBox1, 
                Path=SelectedItem.GAMBAR_BIN}"/>
    </Grid>
</Window>
在 xaml 代码中你会看到 {Binding} ,你想知道吗?那就去搜索一下吧 :)
3. 接下来是代码逻辑,用来从 BLOB 中加载图像
using System.Windows;
using System.Data.OracleClient;
using System.Data;

namespace WpfLoadOracleBlob
{
 /// <summary>
 /// Interaction logic for Window1.xaml
 /// </summary>
 public partial class Window1 : Window
 {
  public Window1()
  {
   InitializeComponent();
  }

  private void Window_Loaded(object sender, RoutedEventArgs e)
  {
   OracleConnection conn = new OracleConnection(
   "Data Source=localhost;" +
   "Persist Security Info=True;" +
   "User ID=C07;Password=C07;Unicode=True");
   conn.Open();

   OracleDataAdapter ad = new OracleDataAdapter(
   "SELECT ROWNUM, GAMBAR_BIN FROM GAMBAR",
   conn);

   DataTable tb = new DataTable();
   ad.Fill(tb);
   comboBox1.DataContext = tb;

   conn.Close();
  }
 }
}

关键点是comboBox1.DataContext = tb;这意味着 comboBox1 控件绑定了来自 SELECT 查询的结果数据。

4. 现在可以测试你的应用了:
image 本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。


2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务

  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【计算机/互联网|】Nginx出现502错误(2020-01-20 21:02)
【计算机/互联网|】网站运营全智能软手V0.1版发布(2020-01-20 12:16)
【计算机/互联网|】淘宝这是怎么了?(2020-01-19 19:15)
【行业动态|】谷歌关闭小米智能摄像头,因为窃听器显示了陌生人家中的照片(2020-01-15 09:42)
【行业动态|】据报道谷歌新闻终止了数字杂志,退还主动订阅(2020-01-15 09:39)
【行业动态|】康佳将OLED电视带到美国与LG和索尼竞争(2020-01-15 09:38)
【行业动态|】2020年最佳AV接收机(2020-01-15 09:35)
【行业动态|】2020年最佳流媒体设备:Roku,Apple TV,Firebar,Chromecast等(2020-01-15 09:31)
【行业动态|】CES 2020预览:更多的流媒体服务和订阅即将到来(2020-01-08 21:41)
【行业动态|】从埃隆·马斯克到杰夫·贝佐斯,这30位人物定义了2010年代(2020-01-01 15:14)
联系我们

Q Q: 7090832

电话:400-0011-990

邮箱:7090832@qq.com

时间:9:00-23:00

联系客服
商家入住 服务咨询 投拆建议 联系客服
0577-67068160
手机版

扫一扫进手机版
返回顶部