摘要:從另一個dll中binding image過來
試了好久,還是試不出來,索性只好到論壇上問問了,沒想到很快就有人回答了!
趕快記下來備查。
是這樣的,若要binding另一個dll中的圖檔,則該dll的圖檔的「建置動作」要設為「Resources」才行!
否則圖是出不來的。
code在下面:
xaml:
<Window x:Class="ImageBindingApplication.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="clr-namespace:vm;assembly=vm"
Title="MainWindow" Height="350" Width="525">
<Window.DataContext>
<vm:VMClass/>
</Window.DataContext>
<Grid>
<Border BorderThickness="2" BorderBrush="Red">
<Image Source="{Binding Img}"/>
</Border>
</Grid>
</Window>
在另一個 dll 中的 View-Model 的 code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Media.Imaging;
namespace vm
{
public class VMClass
{
BitmapImage img;
public BitmapImage Img
{
get { return img; }
set { img = value; }
}
public VMClass()
{
img = new BitmapImage(new Uri("/vm;component/h.png", UriKind.RelativeOrAbsolute));
}
}
}