2012-08-11 2 views
3

VS 2012를 사용하는 Metro Style 앱에서 단추의 배경 이미지를 변경하려면 어떻게해야합니까? Windows Forms에서 단추에는 설정할 수있는 BackgroundImage 속성이 있습니다. 이 기능은 Metro Style 앱에서 사용할 수 있습니까?메트로 스타일 앱에서 단추의 배경 이미지를 프로그래밍 방식으로 변경

윈도우 폼에서

, 나는 C#에서 다음을 수행 할 수 있습니다

btnImage.BackgroundImage = System.Drawing.Image.FromFile ("... \ 사진 \의 flower.png을");

Metro 스타일 앱에서 버튼의 배경 이미지를 프로그래밍 방식으로 어떻게 변경할 수 있습니까?

답변

2

매우 간단합니다, 사실은 그냥 닫는 태그를 포함, 그래서 같이 사이에 이미지 컨트롤을 드롭 버튼의 XAML을 수정 : 위의 코드에서

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}"> 
    <Button HorizontalAlignment="Left" Margin="532,285,0,0" VerticalAlignment="Top" Height="135" Width="283"> 
     <Image Source="Assets/Logo.png" /> 
    </Button> 
</Grid> 

, 나는 이미지 소스를 가리키는거야 C#/XAML 응용 프로그램 용 기본 제공 템플릿의 일부인 Logo.png 파일에 추가합니다.

Visual Studio 용 Blend에서 프로젝트를 열고 자산 탭에서 디자인 화면으로 이미지를 드래그 한 다음 (객체 및 타임 라인 창에서 원하는 컨테이너를 선택했는지 확인) 이미지를 마우스 오른쪽 단추로 클릭하고 컨트롤로 만들기 ...를 선택하고 Button 컨트롤을 선택합니다.

이 기술의 유일한 단점은 기본 제공 Button 컨트롤에있는 기본 VisualStates를 얻지 못한다는 것입니다. 대신 블렌드는 원하는대로 스타일을 지정할 수있는 비어있는 VisualState로 스타일을 정의합니다.

희망이 있습니다.

+0

빠른 답변을 주셔서 감사합니다. 그러나 어떻게하면 C#에서 단추의 배경 이미지를 프로그래밍 방식으로 변경할 수 있습니까? 예 : 특정 이벤트에서 버튼의 배경을 다른 이미지로 변경하거나 제거하십시오 (null로 만드시겠습니까?). 다시 한번 감사드립니다. –

+0

Button.ImageSource = 이것을 설정하십시오. –

+0

@LeoLuis - 감사합니다 - 나는 그것을 시도했지만 오류가 발생했습니다 : "Windows.UI.Xaml.Controls.Button에 'ImageSource'에 대한 정의가 없습니다 ..."어떤 지시문을 사용해야합니까? –

관련 문제