2017-06-12 5 views
0

Je crée un petit programme de peinture et je veux faire apparaître une toile lorsque je clique sur un bouton.Comment créer une fenêtre contextuelle contenant un canevas?

private void buttonNewDrawing_Click(object sender, RoutedEventArgs e) 
{ 
    MessageBox.Show(mainCanvas); 
} 

Ne fonctionne pas de toute évidence car il demande une chaîne. mais que puis-je utiliser au lieu d'un MessageBox pour avoir juste la toile mainCanvas pop up afin que je puisse l'utiliser?

Merci d'avance.

+0

Pourquoi voulez-vous montrer un 'MessageBox'? Le mainCanvas est-il un contrôle de canevas? – Abhishek

+0

Non la boîte de message est juste un exemple du type de popup que je veux faire, je veux juste qu'il ouvre une nouvelle fenêtre et montre ma toile. –

Répondre

1

MainWindow.xaml:

<Window x:Class="WpfApplication1.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" Height="350" Width="525"> 
    <Grid> 
     <Button Click="Button_Click" Grid.Row="2" HorizontalAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Bottom" VerticalContentAlignment="Center" Content="Click"/> 
    </Grid> 
</Window> 

MainWindow.xaml.cs:

private void Button_Click(object sender, RoutedEventArgs e) 
{ 
    Window1 window = new Window1(); 
    window.Show(); 
} 

Window1.xaml:

<Window x:Class="WpfApplication1.Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="Window1" Height="300" Width="300"> 
    <Grid> 
     <Canvas /> 
    </Grid> 
</Window> 
+0

Comment créer le nouveau xaml dans le même projet? J'ai déjà une toile en dehors de mon interface graphique, puis-je la cacher et la montrer quand on clique sur le bouton? L'argument args a l'air bien, merci! –