在 WPF 中显示图像数据网格模板字段

发布于 2024-11-28 13:31:06 字数 64 浏览 1 评论 0原文

如何使用 LINQ to SQL 将图像(存储在 SQL 数据库中)显示到 WPF 中数据网格模板字段中的图像控件

How to display images (stored in SQL database) to an image control in template field of datagrid in WPF using LINQ to SQL

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

金橙橙 2024-12-05 13:31:06

Linq 生成的类是部分类。这允许您扩展它们。因此,假设您的链接类具有以下属性:

public byte[] Image {get; set;}

您可以使用这样的属性添加到分部类

public ImageSource imageSource
{
    get
    {
            var Img = new BitmapImage();
            Img.BeginInit();
            Img.StreamSource = new System.IO.MemoryStream((byte[])Image);
            Img.EndInit();
            return Img;
     }
 }

然后在您的模板控件的模板中,您只需添加类似以下内容:

<DataGridTemplateColumn Header="Image" >
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <Image Source="{Binding imageSource}"/>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

The classes generated by Linq are Partial. This allows you to extend them. So, assuming that you're link class has a property along the following lines:

public byte[] Image {get; set;}

you can add to the partial class with a property like this

public ImageSource imageSource
{
    get
    {
            var Img = new BitmapImage();
            Img.BeginInit();
            Img.StreamSource = new System.IO.MemoryStream((byte[])Image);
            Img.EndInit();
            return Img;
     }
 }

Then in the template for you're template control you simply put something like:

<DataGridTemplateColumn Header="Image" >
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <Image Source="{Binding imageSource}"/>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文