2010-07-01 2 views
6

XAML에서 아이콘을 표시하는 단추를 얻으려고합니다. 처음에는 대신 문자를 붙여 넣으려고했지만 vb Express 2008은 일반 문자가 아니기 때문에 심볼로 인식하지 못했습니다. 그런 다음 아이콘을 만들고이를 참조하는 버튼 이미지 속성을 설정하려고 시도했지만 이것이 존재하지 않으므로 더 많은 불행이 있습니다. 이제는 프로젝트 리소스를 사용하여 프로젝트 리소스 디렉토리에 밀어 넣은 아이콘 파일을 추가했습니다. 내가 이상적으로 별도의 파일에 이미지를이 프로젝트에 의해 그것을 참조 할XAML에서 아이콘 리소스 파일 참조를 참조하는 방법

<Button> 
<Image Source="{StaticResource UpArrow}"/> 
</Button> 

: 내가 원하는 무엇

이 태그에 아이콘을 표시하기 위해 사용하는 XAML입니다. 나는 콘텐츠/자원 문제로 약간 혼란 스럽다.

<UserControl.Resources> 
<BitmapImage x:Key="UpArrow" _ 
    UriSource="Resources/_25B2_Triangle__black__up_pointing.ico" /> 
</UserControl.Resources> 

나는 거대하고 혼란 팩 어셈블리에 대한 몇 가지 물건을 읽었습니다 :

나는 사용하여 접근을 시도했습니다. 물론 리소스 파일에 아이콘을 추가하면 절대 파일 경로 대신/Resources 또는 유사 항목을 사용하여 쉽게 참조 할 수 있어야합니다. 그렇지 않으면 무엇이 중요합니까?

코드 숨김 대신이 작업을 모두 XAML에서 수행하고 싶습니다.이 작업은 클라이언트에서 모두 수행 할 것이지만 어쩌면 코드를 뒤에 사용할지 결정할 때가 아닙니다. WPF를 사용하면 대규모로 수행하려고 시도하는 작업과 그 작업을 원하는 이유에 대한 글은 거의 없습니다. MS에서 "시원한"방법을 사용하지 않는 것이 좋습니다. 그다지 도움이되지 않습니다.

감사합니다 ..

답변

8

이 작업을 수행하는 가장 쉬운 방법은 다음과 같습니다

<Button> 
<Image Source="Resources/_25B2_Triangle__black__up_pointing.ico"/> 
</Button> 

기억해야 할 중요한 것은 당신의 아이콘 파일이 응용 프로그램에서 유효한 자원으로 인식되고 있는지 확인하는 것입니다. WPF를 사용하면 이전 winforms 방법과 비교하여 한 단계 더 수행해야합니다.

솔루션 탐색기에서 'Resources'폴더를 확장 한 다음 '_25B2_Triangle_black_up_pointing.ico'파일을 클릭하십시오. 그런 다음 속성에 대해 F4 키를 누릅니다. 'Build Action'속성이 'Resource'로 설정되어 있는지 확인하십시오.

+0

대단히 감사합니다. 바보가 파일 이름에 쉼표를 넣기로 결정한 바보 같은 약간의 조정은 따로하고 완벽하게 작동합니다. vb.net은 이중 밑줄/그 반대로 변환됩니다. Build Action은 중요한 비트였습니다! 알림 메시지가 일시 중지 된 것 같아서 답글을 발견했습니다. – user326775

관련 문제