2011-11-23 2 views
0

난 내가 누구 visbility 0실버에 그리드에 액세스하는 방법을

로 설정되어 내가 마우스 버튼 이벤트 (아래)하지만 내를 만든 격자를 표시하려면 그것을 클릭 버튼라는 테스트 버튼이 Grid (testGrid)는 프로젝트에서 사용할 수 없습니다.

private void testButton(object sender, System.Windows.Input.MouseButtonEventArgs e) 
     {  
      testGrid.Opacity = 1;                    
     } 

그것은 강조 testGrid 빨간색

여기

일 무슨 확신하지 (SL)에 새 ** 그리드

<Grid x:Name="testGrid" HorizontalAlignment="Left" Width="150" Margin="950,-77,0,0" Height="77" VerticalAlignment="Top" Opacity="0"> 

    </Grid> 



<Image x:Name="testButton" HorizontalAlignment="Right" Margin="0,1,180,3" Stretch="Fill" Width="53" Height="49" Cursor="Hand" Opacity="0.8" > 
+0

에 우리가 너무 –

+0

내가 XAML을 추가 좋은 것 XAML과 코드를 더 볼 필요가있다. 그리드 testGrid = FindName ("") 같은 것을 생각하고 있어요 ??? – Autolycus

+0

FindName은 생성자에서 호출해야하는 InitializeComponent에서 수행해야합니다. 생성자로 이동하여 마우스 오른쪽 버튼을 클릭하고 정의로 이동하여 testGrid 선언이 생성되었는지 확인할 수 있습니다. –

답변

1

이 시도 :

<Grid x:Name="testGrid" HorizontalAlignment="Left" Width="150" Margin="950,-77,0,0" Height="77" VerticalAlignment="Top" Opacity="0"> 
</Grid> 
<Image x:Name="testButton" HorizontalAlignment="Right" Margin="0,1,180,3" Stretch="Fill" Width="53" Height="49" Cursor="Hand" Opacity="0.8" MouseLeftButtonDown="testButton" /> 

XAML

에 CS

private void testButton(object sender, System.Windows.Input.MouseButtonEventArgs e){  
     testGrid.Visibility = Visibility.Visible; 
} 
2

편집 **

XML 그리드가 .cs 파일에서 접근하기 어려운 이유는 t에서 클래스 이름을 변경 한 경우입니다. he .cs 파일에는 있지만 .xaml 파일의 맨 위에있는 Xaml 지시문에는 없습니다.

이 두 가지가 일치하지 않으면 Visual Studio에서 두 파일을 연결할 수 없으므로 코드 숨김에서 표 컨트롤을 볼 수 없습니다. 코드와

다른 항목은 고려해야 할

이 그리드를 표시합니다 :

비록 불투명도 내가 더 자주 사용에 대한 대안을 작동합니다.

testGrid.Visibility = Visibility.Visible; 

그리드가 숨겨집니다.

testGrid.Visibility = Visibility.Collapsed; 

또한 "버튼"은 이미지 태그이며 버튼이 아닙니다. 전화하려는 방법과 이름이 같은 이미지입니다.

<Button Click="TestBUtton" Text="MyButton" /> 

그리고 내가 XAML에서 그를 입력 것 같은 당신은 클릭 이벤트 상에 있도록 이미지를 변경하거나 버튼으로 변경해야하거나, 뭔가 직접 그래서 당신은 click 경우에 입력 할 때 핸들러는 코드 숨김 메소드를 자동으로 생성합니다.

+0

Visibility가 Opacity보다 효율적이라는 데 동의하지만 질문은 testGrid의 백킹 필드가 생성되지 않고 컴파일 타임 오류가 있다는 사실에 대한 질문입니다. –

+0

@Bill fair comment. 그러나 테스트 그리드가 사용 가능하지 않은 이유에 대한 코드 뒤에있는 버튼과 링크를 변경하여 사용하기를 바랬습니다. – Chris

+0

충분히 공정하고, -1을 제거하려고했지만 그것은 나를 허용하지 않을 것입니다. 나는 이제 OP가 클래스 이름을 변경하고 XAML에서 코드를 변경하지 않았다고 생각하고있다. –

관련 문제