저는 Visual Studio에서 C#으로 전체 프로젝트 (템플릿 포함)를 만드는 프로젝트를 만들고 있습니다.내 이벤트 핸들러에서 변수에 액세스 할 수없는 이유는 무엇입니까?
템플릿을 만들고 방금 이벤트에 대한 작업을 시작했습니다. 만든 캔버스에 대한 이벤트 MouseLeftButtonDown을 만들고 싶습니다.이 이벤트는 마우스 위치를 기록합니다.
이
내 코드입니다 :public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private char tester;
private Point down1;
private Point up1;
private void Grid1_Loaded(object sender, RoutedEventArgs e)
{
RowDefinition row1 = new RowDefinition();
RowDefinition row2 = new RowDefinition();
row1.Height = new GridLength(40);
row2.Height = new GridLength(1, GridUnitType.Star);
Grid1.RowDefinitions.Add(row1);
Grid1.RowDefinitions.Add(row2);
Canvas canvas1 = new Canvas();
canvas1.Background = new SolidColorBrush(Colors.Beige);
Grid.SetRow(canvas1, 1);
Grid1.Children.Add(canvas1);
canvas1.MouseLeftButtonDown += new RoutedEventHandler(canvas1_MouseLeftButtonDown);
canvas1.MouseLeftButtonUp += new RoutedEventHandler(canvas1_MouseLeftButtonUp);
Button btnRect = new Button();
btnRect.Content = "Rectangulo";
btnRect.Margin = new Thickness(5, 5, 5, 5);
btnRect.HorizontalAlignment = HorizontalAlignment.Left;
btnRect.VerticalAlignment = VerticalAlignment.Center;
Grid.SetRow(btnRect, 0);
Grid1.Children.Add(btnRect);
//btnRect.Click += new RoutedEventHandler(btnRect_Click);
Button btnEllip = new Button();
btnEllip.Content = "Ellipse";
btnEllip.Margin = new Thickness(75, 5, 5, 5);
btnEllip.HorizontalAlignment = HorizontalAlignment.Left;
btnEllip.VerticalAlignment = VerticalAlignment.Center;
Grid.SetRow(btnEllip, 0);
Grid1.Children.Add(btnEllip);
//btnEllip.Click += new RoutedEventHandler(btnEllip_Click);
}
그리고 이것은 내 이벤트입니다 :
private void canvas1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
down1 = e.GetPosition(canvas1);
}
}
}
내가하지만 난 (canvas1)에 오류를 받고 있어요 down1 = e.GetPosition(canvas1);
을 시도했다; .. 나는 아무런 문제, 템플릿을 코딩 할 필요없이 유사한 프로젝트를했습니다
환상적인. 내가이 일들에 어떻게 빠져 있는지 놀랍다. 고맙습니다! – joao