한 캔버스에서 게스트를 가져와 Windows Phone 8 앱에서 프로그래밍 방식으로 다른 캔버스에 설정하는 방법

마두 바부

나는 그리드에서 "팝업"이라는 이름의 "ContentPanelCanvas"라는 이름의 캔버스에서 서명을 가져오고 "팝업"에서 해당 서명을 설정하고 이름이 지정된 캔버스에 설정하는 간단한 캔버스 응용 프로그램을 만들고 있습니다. "maincanvas"로. 알고 있다면이 문제를 해결하도록 도와주세요. 캔버스 컨텍스트를 가져 와서 빈 캔버스로 설정하는 방법은 다음과 같습니다.

Xaml에서 :

<Grid x:Name="ContentPanel">
    <Grid.RowDefinitions>
           <RowDefinition Height="*"></RowDefinition>
           <RowDefinition Height="Auto"></RowDefinition>
    </Grid.RowDefinitions>
     <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"></ColumnDefinition>
     </Grid.ColumnDefinitions>
     <Grid Grid.Column="0">
            <Canvas Name="maincanvas">

            </Canvas>
        </Grid>

    <Grid  Name="Popup" Visibility="Collapsed" Grid.Row="0" Width="480" Height="300" Background="Black">
            <Grid.RowDefinitions>
                <RowDefinition Height="*"></RowDefinition>
                <RowDefinition Height="Auto"></RowDefinition>
            </Grid.RowDefinitions>
            <Grid Grid.Row="0">
            <Canvas Name="ContentPanelCanvas"  Background="Beige">

            </Canvas>
            </Grid>
            <Grid Grid.Row="1" HorizontalAlignment="Center">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"></ColumnDefinition>
                    <ColumnDefinition Width="*"></ColumnDefinition>
                </Grid.ColumnDefinitions>
                <Button Grid.Column="0" x:Name="btnOK" Content="OK" Tap="btnOK_Tap"/>
                <Button Grid.Column="1" x:Name="btnCancel" Content="Clear" Tap="btnCancel_Tap"/>
            </Grid>
        </Grid>
</Grid>

다음은 .CS 파일입니다.

    private Point currentPoint;
    private Point oldPoint;
    Line line;

    public SingleImage()
    {
        InitializeComponent();
        this.ContentPanelCanvas.MouseMove += new MouseEventHandler(ContentPanelCanvas_MouseMove);
        this.ContentPanelCanvas.MouseLeftButtonDown += new MouseButtonEventHandler(ContentPanelCanvas_MouseLeftButtonDown);

    }

    void ContentPanelCanvas_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
    {
        currentPoint = e.GetPosition(ContentPanelCanvas);
        oldPoint = currentPoint;
    }

    void ContentPanelCanvas_MouseMove(object sender, MouseEventArgs e)
    {

        currentPoint = e.GetPosition(this.ContentPanelCanvas);

        line = new Line() { X1 = currentPoint.X, Y1 = currentPoint.Y, X2 = oldPoint.X, Y2 = oldPoint.Y };

        line.Stroke = new SolidColorBrush(Colors.Purple);
        line.StrokeThickness = 3;

        this.ContentPanelCanvas.Children.Add(line);
        oldPoint = currentPoint;
    }

    private void Button_Tap(object sender, System.Windows.Input.GestureEventArgs e)
    {
        Popup.Visibility = Visibility.Visible;
        ContentPanelCanvas.Children.Clear();
    }

    private void btnOK_Tap(object sender, System.Windows.Input.GestureEventArgs e)
    {
        Popup.Visibility = Visibility.Collapsed;          
       // Here i want to set signature to main canvas how to pass signature
          from one canvas to another?//    
    }

    private void btnCancel_Tap(object sender, System.Windows.Input.GestureEventArgs e)
    {
        ContentPanelCanvas.Children.Clear();
    }
Arun.P
private void btnOK_Tap(object sender, System.Windows.Input.GestureEventArgs e)
    {
        Popup.Visibility = Visibility.Collapsed;          
         int k = ContentPanelCanvas.Children.Count;
          for (int i = 0; i < k; i++)
          {
              line =(System.Windows.Shapes.Line)    ContentPanelCanvas.Children[0];
              line.StrokeThickness = 3;
              ContentPanelCanvas.Children.RemoveAt(0);
              maincanvas.Children.Add(line);
           }

    }

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관