2011-04-23 4 views
3

몇 가지 예에서 나는이 일을 제대로하고 있다고 생각하지만 작동하지 않아 여기를 확인하고 싶습니다. 이미지 소스를 바인딩하고 있지만 이미지가 없습니다. 바인딩을 제거하고 아래의 메서드에서 사용 된 경로로 이미지 소스를 설정하면 올바르게 작동합니다.이미지 원본을 바인딩하는 방법?

public Image myImage = new Image(); 

public void someMethod() { 
    BitmapImage biSource = new BitmapImage(); 
    biSource.BeginInit(); 
    biSource.CacheOption = BitmapCacheOption.OnLoad; 
    biSource.CreateOptions = BitmapCreateOptions.IgnoreImageCache; 
    biSource.UriSource = new Uri(@"C:\Images\testimage.jpg"); 
    biSource.DecodePixelWidth = 150; 
    biSource.EndInit(); 

    myImage.Source = biSource; 
} 

xaml code 
<Image Source="{Binding Path=myImage}" Width="150" Height="150" /> 

답변

7

속성은 Image이 아닌 ImageSource에 바인딩해야합니다. biSource을 속성으로 노출하고 대신에 바인딩하십시오. myImage

+0

Ts, 나는 반 분 더 빨랐다. ( –

+0

@HB, 죄송합니다. 답변을 못 알아 들었습니다. +1은 그것을 보충합니다.) –

+0

하하, 고마워, 어쨌든, 네 잘못이 아니야. 동시 대답은 많이 발생합니다. –

5

당신은 작동하지 않을, Image의 소스에 Image를 결합하려고합니다. BitmapImageImage의 출처에 바인딩해야합니다.

또한 BitmapImage은 공개 속성으로 공개해야합니다. 데이터 바인딩을 처음 사용하는 경우 this overview on MSDN을 읽으십시오.

더 알아야 할 것은 how to debug bindings입니다.

+0

개요를 읽고 디버깅 바인딩을 살펴 보았습니다. 방향 주셔서 감사합니다. – Terco

관련 문제