2012-04-13 2 views
4

XAML에서 창/응용 프로그램 아이콘을 파일 시스템의 아이콘에 바인딩하려고 시도하고 있습니다. 내 응용 프로그램 아이콘이 투명하지 않은 이유는 무엇입니까?

public ImageSource ApplicationIcon 
{ 
    get 
    { 
    return new BitmapImage(new Uri(pathReadFromConfigFile)); 
    } 
} 

내가 이렇게 AppViewModel.cs

에서 Window.xaml

Icon="{Binding ApplicationIcon}" 

에서

는 아이콘이 표시되어 있지만, 투명하지 않다. 그러나 바인딩을 사용하지 않고 프로젝트 내에서 아이콘을 설정하면 아이콘이 프로젝트에 추가되고 응용 프로그램을 시작할 때 아이콘이 투명 해집니다. 왜이 두 시나리오간에 다르게 작용합니까?

+2

용서해주세요. 원래의 질문을 돌리지는 않겠지 만, MVVM을 극한까지 끌어들이는 것이 아닌가요? 런타임에 아이콘이 변경되지 않으면 VM에서 의사 결정을 수행하고 속성을 통해 공개해야하므로보기가 수동이되어야합니다. 그렇지 않으면 왜 귀찮을까요? –

+1

나는 당신이 말하는 것을 이해하지만 구성 가능한 응용 프로그램을 설계하려고합니다. 우리는 몇 가지 매우 유사한 응용 프로그램을 가지고 있지만 아이콘은 다릅니다. 우리의 목표는 하나의 실행 파일을 다른 설정 파일을 사용하는 것입니다. – bsh152s

+1

예, 이해가됩니다. 이유는 내가 물었습니다. 나는 순수 주의자 대 게터 완료 사이의 내부 싸움을했습니다. 그래서 저는 다른 사람들의 동기가 무엇인지 궁금합니다. 답변 감사합니다. –

답변

1

알아 냈어. 문제를 일으키는 것이 BitMapImage 제작이었습니다. 이제 BitmapFrame을 대신 사용하십시오.

public ImageSource ApplicationIcon 
{ 
    get 
    { 
    return BitmapFrame.Create(new Uri(pathReadFromConfigFile)); 
    } 
} 
관련 문제