Mega Code Archive

 
Categories / Silverlight / Containers
 

Add button to Canvas

<UserControl x:Class='SilverlightApplication3.MainPage'     xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'      xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'     xmlns:d='http://schemas.microsoft.com/expression/blend/2008'      xmlns:mc='http://schemas.openxmlformats.org/markup-compatibility/2006'      mc:Ignorable='d'      d:DesignWidth='640'      d:DesignHeight='480'>     <Canvas x:Name="myCanvas">         <Button x:Name="myButton" Content="Hello" Canvas.Left="10" Canvas.Top="10" />         <Button x:Name="Another" Content="Add Another" Canvas.Left="10" Canvas.Top="50" />         <CheckBox x:Name="RushOrder" Content="Rush" Canvas.Left="50" Canvas.Top="20" FontSize="18" />     </Canvas> </UserControl> //File:Page.xaml.cs using System; using System.Windows; using System.Windows.Controls; namespace SilverlightApplication3 {    public partial class MainPage : UserControl    {       private double newButtonPosition = 100.0;       public MainPage()       {          InitializeComponent();          Loaded += new RoutedEventHandler( Page_Loaded );       }       void Page_Loaded( object sender, RoutedEventArgs e )       {          myButton.Click += new RoutedEventHandler( myButton_Click );          Another.Click += new RoutedEventHandler( Another_Click );          RushOrder.Checked += new RoutedEventHandler( RushOrder_Changed );          RushOrder.Unchecked += new RoutedEventHandler(RushOrder_Changed);       }       void Another_Click( object sender, RoutedEventArgs e )       {          Button b = new Button();          b.Content = "AAA";          b.SetValue( Canvas.LeftProperty, 10.0 );          b.SetValue(Canvas.TopProperty, this.newButtonPosition );          this.newButtonPosition += 30.0;          b.Width = 100;          b.Height = 20;          b.Click += new RoutedEventHandler( new_button_click );          myCanvas.Children.Add( b );       }       void new_button_click( object sender, RoutedEventArgs e )       {          Button btn = sender as Button;          btn.Content = "B";          btn.IsEnabled = false;       }       void RushOrder_Changed( object sender, RoutedEventArgs e )       {          if ( RushOrder.IsChecked == true )          {             RushOrder.Content = "A";          }          else          {             RushOrder.Content = "B";          }       }       void myButton_Click( object sender, RoutedEventArgs e )       {          throw new NotImplementedException();       }    } }