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();
}
}
}
Related examples in the same category