當前位置:編程學習大全網 - 源碼下載 - WPF關於Tooltip的Binding

WPF關於Tooltip的Binding

新建壹個CS類文件主要內容如下

public class ImgConverter : IValueConverter

{

#region IValueConverter 成員

public object Convert(object value,

Type targetType,

object parameter,

CultureInfo culture)

{

DateTime date = (DateTime)value;

return date.ToShortDateString();

}

object IValueConverter.Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)

{

byte[] ageInt = (byte[])value;

return GetImage(ageInt);

}

object IValueConverter.ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)

{

//string strValue = value.ToString();

//Int16 resultAge;

//if (Int16.TryParse(strValue, out resultAge))

//{

// return resultAge;

//}

return value;

}

public byte[] StreamToBytes(Stream stream)

{

byte[] bytes = new byte[stream.Length];

stream.Read(bytes, 0, bytes.Length);

// 設置當前流的位置為流的開始

stream.Seek(0, SeekOrigin.Begin);

return DEncrypt4ImageHelper.DecryptByteFile( bytes);

}

BitmapImage GetImage(byte[] rawImageBytes)

{

BitmapImage imageSource = null;

try

{

using (var stream = new MemoryStream(DEncrypt4ImageHelper.DecryptByteFile(rawImageBytes)))

{

var bitmap = new BitmapImage();

bitmap.BeginInit();

bitmap.StreamSource = stream;

bitmap.CacheOption = BitmapCacheOption.OnLoad;

bitmap.EndInit();

bitmap.Freeze();

imageSource = bitmap;

}

//using (MemoryStream stream = new MemoryStream(rawImageBytes))

//{

// stream.Seek(0, SeekOrigin.Begin);

// BitmapImage b = new BitmapImage();

// b.SetSource(stream);

// imageSource = b;

//}

}

catch (System.Exception ex)

{

}

return imageSource;

}

#endregion

}

xaml UserControl <> //裏加入

xmlns:my="clr-namespace:上面類的命名空間"

xaml <UserControl.Resources> //裏加入

<my:ImgConverter x:Key="ImgConvert"/>

</UserControl.Resources>

xaml Datagrid下面代碼

<c1:C1DataGrid.Columns> //裏面加入

<c1:DataGridTemplateColumn Header="內容">

<c1:DataGridTemplateColumn.CellTemplate>

<DataTemplate>

<Grid Width="240" >

<Image Source="{Binding 圖片Byte[] ,Converter={StaticResource ImgConvert}}" HorizontalAlignment="Left" Margin="10,0,0,0" Width="24" Height="24" >

</Image>

<Label Height="Auto" HorizontalAlignment="Left" Name="label1" VerticalAlignment="Center" Margin="50,0,0,0" Width="Auto" Content="{Binding 圖片名稱}" />

</Grid>

</DataTemplate>

</c1:DataGridTemplateColumn.CellTemplate>

</c1:DataGridTemplateColumn>

</c1:C1DataGrid.Columns>

如上代碼中 圖片Byte[] 和 圖片名稱 換成妳Itemsource裏的列名

DEncrypt4ImageHelper.DecryptByteFile 是網上的代碼 妳找壹下。我的圖片Byte[] 是加密的byte[].所以需要解密。妳可以自己改改

  • 上一篇:web前端好還是JAVA好?
  • 下一篇:什麽軟件可以驅動?
  • copyright 2024編程學習大全網