저는 WPF에 익숙하지 않습니다, 여기 퍼즐 게임을 만들고 있지만 문제가 발생했습니다 : 순수한 코드 (XAML에서는 할 수 있습니다.)에서 레이블에 이미지를 표시하는 방법을 알지 못합니다. Google을 많이 검색했지만이 주제와 관련하여 관련 기사를 찾지 못했습니다. 누구든지이 일에 나를 도울 수 있습니까? 고마워.순수한 코드를 사용하여 WPF에서 Label의 이미지를 바인딩하는 방법은 무엇입니까?
내 코드 샘플 :
Label lbl = new Label();
lbl.Width = 120;
lbl.Height = 120;
lbl.Background = new SolidColorBrush(Colors.YellowGreen);
BitmapImage myImageSource = new BitmapImage();
myImageSource.BeginInit();
myImageSource.UriSource = new Uri("Images/test.png",UriKind.Relative);
myImageSource.EndInit();
lbl.Background.SetValue(ImageBrush.ImageSourceProperty, myImageSource);
myGridContainer.Children.Add(lbl);
아니라,이 코드 샘플이 작동하지 않을 수 있습니다. 왜 ? 어떤 의견이나 대답을 주시면 감사하겠습니다.
나는 당신이 ImageBrush와 대신 SolidColorBrush를 사용한 적이 있기 때문에 생각합니다. http://msdn.microsoft.com/en-us/library/system.windows.media.imagebrush.aspx – Gishu
@ Gishu 코드를 주석 처리 할 때 다음을 참조하십시오. lbl.Background = new SolidColorBrush (Colors.YellowGreen); , 그것은 예외를 던졌습니다 lbl.Background.SetValue (ImageBrush.ImageSourceProperty, myImageSource); "개체 참조가 개체의 인스턴스로 설정되지 않았습니다." – CharlieShi
대신'lbl.Background = new ImageBrush()'를 사용하십시오. IanGriffith의 'Programming WPF'와 같은 좋은 WPF 책을 구하는 Chris Sells는 코드 작성을 더 빨리 도와줍니다. – Gishu