Program/Silverlight
XAML에서 생성한 컨트롤에 비하인드 코드에서 Resouce 연결
HEAD1TON
2009. 10. 15. 00:50
Microsoft Expression Blend 2 툴을 이용하여 XAML을 생성하였다;
그중 Image라는 컨트롤을 넣었는데 상황에 따라 그림파일을 동적으로 바꿔주고 싶었지만
방법을 몰라 고생하다가! 별것도 아닌걸 꽤나 오랜시간걸려서 찾은것같아;
이런문제로 고생하고 있을 다른 분들을 위한 포스팅!
<Image Height="80" HorizontalAlignment="Left" x:Name="itemImage" Width="80" Source="image.bmp"/>
이 XMAL 코드에서처럼 Source="image.bmp" 이런식으로 초기에는 간단하게 bmp 파일과 연결할수있다;
비하인드 코드에서 제어하기 위해서는
private void ChageSource()
{
itemImage.Source =
new BitmapImage(new Uri(m_itemImageURL, UriKind.Relative));
}
BitmapImage를 생성하고 해당하는 경로를 Uri로 넣어주면 간단하게 해결된다!!
사용을 위해 using System.Windows.Media.Imaging; 을 추가한다
여기서 Uri()생성자의 처음 인자는 "파일의 경로" 이고
두번째인자의 UrlKind.Relative (상대경로) ,UrlKind.Absolute (절대경로) ,UrlKind.RelativeOrAbsolute (둘다)를
의미한다!