Xaml页面
<Page x:Class="WpfSnqkGasAnalysis.PageUser"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfSnqkGasAnalysis.Model;assembly=WpfSnqkGasAnalysis.Model"
xmlns:local1="clr-namespace:WpfSnqkGasAnalysis"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800"
Title="PageUser" Loaded="Page_Loaded">
<Page.Resources>
<local1:ImgShowConvert x:Key="imgShow"></local1:ImgShowConvert>
</Page.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="60"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>
<DockPanel LastChildFill="False" Grid.Row="0">
<Label Content="账号:" Style="{StaticResource Label1}" />
<TextBox x:Name="txtAccount" Text="" Style="{StaticResource input1}" Margin="0,0,20,0" />
<Button x:Name="btnSearch" Content="查询" Style="{StaticResource buttonBlue}" HorizontalAlignment="Left" VerticalAlignment="Center" Click="btnSearch_Click"/>
</DockPanel>
<Grid Grid.Row="1">
<DataGrid x:Name="dgUser" ItemsSource="{Binding }" Style="{StaticResource DataGrid1}" AutoGenerateColumns="False" SelectionUnit="Cell" CanUserAddRows="True" CellEditEnding="dgUser_CellEditEnding" >
<DataGrid.Columns>
<DataGridTextColumn ElementStyle="{StaticResource dataGridColumn}" Width="200" Header="账号" Binding="{Binding User_account}" ></DataGridTextColumn>
<DataGridTextColumn ElementStyle="{StaticResource dataGridColumn}" Width="200" Header="姓名" Binding="{Binding User_real_name,Mode=TwoWay}"></DataGridTextColumn>
<DataGridComboBoxColumn Width="200" Header="角色" TextBinding="{Binding Role_id,Mode=TwoWay }" ItemsSource="{x:Static local:CommonConfig.RoleList }" SelectedItemBinding="{Binding Role_id,UpdateSourceTrigger=PropertyChanged}" />
<DataGridCheckBoxColumn Width="100" Header="是否启用" Binding="{Binding U_stat,Mode=TwoWay}" ></DataGridCheckBoxColumn>
<DataGridTemplateColumn Header="电子签名" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Source="{Binding SignatureImgPath,Converter={StaticResource imgShow} }" MaxHeight="60" ></Image>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn ElementStyle="{StaticResource dataGridColumn}" Width="300" Header="备注" Binding="{Binding Remark,Mode=TwoWay}"></DataGridTextColumn>
<DataGridTemplateColumn Header="操作" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Style="{StaticResource StackPanel_buttonSpance}">
<Button Name="btnEdit" Tag="{Binding Id}" HorizontalAlignment="Left" VerticalAlignment="Center" Content="上传电子签名" Click="BtnImgName_Click" />
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Grid>
</Page>
后台代码
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;
using System.Windows.Media.Imaging;
using WpfSnqkGasAnalysis.Model;
namespace WpfSnqkGasAnalysis
{
/// <summary>
/// DataGrid 中 图片展示
/// </summary>
/// 创建时间:2023-1-5 16:01:35。
public class ImgShowConvert : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
string imgSaveUrl = System.Convert.ToString(value);
if (string.IsNullOrWhiteSpace(imgSaveUrl)) return null;
try
{
imgSaveUrl = imgSaveUrl.TrimStart('\\');
imgSaveUrl = imgSaveUrl.TrimStart('/');
string imgPath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, imgSaveUrl);
if (!System.IO.File.Exists(imgPath))
{
return null;
}
//开始加载图像
BitmapImage bim = new BitmapImage();
bim.BeginInit();
bim.CacheOption = BitmapCacheOption.OnLoad;
bim.StreamSource = System.IO.File.OpenRead(imgPath);
bim.EndInit();
return bim;
}
catch (Exception ex)
{
//LogHelpter.AddLog(ex.Message, null, "img_show_error");
return null;
}
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return value;
}
}
}