2014-10-16 1 views
0

간단한 문제가 있지만 처음 C#/XAML을 사용하기 때문에 여기로갑니다.C# 이미지 및 처리기가있는 단추 추가

XAML 파일에는 런타임에 클릭 가능한 이미지를 추가 할 StackPanel이 들어 있습니다.

<StackPanel x:Name="grid_" Orientation="Horizontal" Margin="10 0 10 0" VerticalAlignment="Center"> 
</StackPanel> 

나는 그 이미지에 클릭 이벤트을 만드는 데 성공하지 않았고, 나는 자신의 배경을 변경, 버튼을 시도 할 수 읽었습니다. 이 코드는 내 코드입니다 :

어떻게 단추 이미지를 변경하고 처리기를 추가하여 어떤 단추를 클릭했는지 검색 할 수 있습니까? , 경우에 당신이 내 이미지 클릭을 만드는 방법을 알고하십시오 내가지고있어 오류가

Error 3 'System.Windows.Controls.Button' does not contain a definition for 'BackgroundImage' and no extension method 'BackgroundImage' accepting a first argument of type 'System.Windows.Controls.Button' could be found (are you missing a using directive or an assembly reference?) 

당신은 내가 여전히 일반 이미지 접근 방식을 유지하고 코드 내 주석에서 볼 수있는, 단지 확인하는 것입니다 말해봐 :

경우에 대비해 버튼 이미지 소스 파일 이름을 검색 할 수있는 이벤트 핸들러로 해결할 수있다.

올바른 방향으로 나를 가리킬 수 있습니까? 나는 완전한 초보자라는 것을 기억하십시오! :)

고마워요!

답변

1

는 이벤트 핸들러

void onButtonClick(Object sender, EventArgs e) 
{ 
    var clickedButton = sender as Button; 
    // do your stuff..  
} 
+0

에서

j.Click += new EventHandler(onButtonClick); 

그리고 왜 내가이 오류를 수 fo Click 이벤트를 사용할 수 있을까? 암시 적으로 'System.EventHandler'형식을 'System.Windows.RoutedEventHandler'형식으로 변환 할 수 없습니다. 내 코드는 다음과 같습니다. "j.Click + = new EventHandler (this.changeImage);" 내 처리기는 "public void changeImage (Object sender, EventArgs e)"입니까? – senseiwa

+1

"public void changeImage (object sender, RoutedEventArgs e)"&& "new RoutedEventHandler (this.changeImage)" –

+2

이벤트 핸들러를 routedeventhandler로 변경하십시오. – bit

관련 문제