c# – 如何使用从DB派生的相对文件路径将WPF Image元素绑定到本地硬盘驱动器上的PNG?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 如何使用从DB派生的相对文件路径将WPF Image元素绑定到本地硬盘驱动器上的PNG?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2086字,纯文字阅读大概需要3分钟。
内容图文
![c# – 如何使用从DB派生的相对文件路径将WPF Image元素绑定到本地硬盘驱动器上的PNG?](/upload/InfoBanner/zyjiaocheng/793/e4f7398ddd014ec5a3ca558aae5ee66c.jpg)
我在本地硬盘上有一个文件夹,里面有几张图片.图像名称/路径存储在本地SQLCE数据库中.在WPF应用程序中,我试图将这些图像绑定到Image元素(最终进入列表框).我有应用程序运行和编译,列表框显示,但没有图像应该是它??.
这是定义列表框使用的数据模板的XAML …
<Window.Resources>
<DataTemplate x:Key="assetLBTemplate">
<StackPanel Orientation="Horizontal">
<Image Height="32" Width="32" Source="{Binding imageFileName}" />
<TextBlock Text="{Binding imageFileName}" />
<TextBlock Text="{Binding assetName}" />
</StackPanel>
</DataTemplate>
</Window.Resources>
列表框的XAML ……
<ListBox x:Name="lbAssetsLiquid"
ItemsSource="{Binding Tables[0]}"
ItemTemplate="{StaticResource assetLBTemplate}"
BorderThickness="1, 1, 1, 1" Grid.Column="0" Grid.Row="1" />
我在Window_Loaded上运行的代码:
private void BindLiquidAssetsListBoxData()
{
SqlCeConnection connection;
SqlCeCommand command;
string sql = "SELECT tblLiquidAssets.assetName, tblLiquidAssets.assetQuantity, tblLiquidAssets.assetValueGP, tblLiquidAssets.assetDescription, tblImages.imageFileName FROM tblLiquidAssets INNER JOIN tblImages ON tblLiquidAssets.assetImageIndex=tblImages.imageID;";
string connectionString = "Data Source=sharecalc_db.sdf;Persist Security Info=False;";
DataSet dtSet = new DataSet();
try
{
using (connection = new SqlCeConnection(connectionString))
{
command = new SqlCeCommand(sql, connection);
SqlCeDataAdapter adapter = new SqlCeDataAdapter();
connection.Open();
adapter.SelectCommand = command;
adapter.Fill(dtSet, "tblLiquidAssets");
lbAssetsLiquid.DataContext = dtSet;
connection.Close();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
SQL Query的结果是……
再次……程序加载列表框但没有加载图像.
我在输出窗口中得到了这个,这让我觉得我在这里缺少一些重要的东西……
转换器无法转换值’gold64.png'(类型’字符串’)
当我在解决方案资源管理器中将图像添加到项目本身时,它似乎工作(图像显示在它们应该是的位置)……但是它不起作用.有人能把我推向正确的方向吗?
解决方法:
如果要从文件系统加载文件,则需要使用自定义值转换器将字符串转换为图像.传递字符串时,Image.Source需要来自资源的文件名.您可以在此处找到此类转换器的实现:Display an image in WPF without holding the file open.
内容总结
以上是互联网集市为您收集整理的c# – 如何使用从DB派生的相对文件路径将WPF Image元素绑定到本地硬盘驱动器上的PNG?全部内容,希望文章能够帮你解决c# – 如何使用从DB派生的相对文件路径将WPF Image元素绑定到本地硬盘驱动器上的PNG?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。