Я хочу создать приложение с экраном, изображенным ниже.
|-----------------------------------------|
| MainWindow [-][=][x]|
|-----------------------------------------|
| | |
| (Button1) | (Button1) |
| | |
| 1| 2|
|-----------------------------------------|
| | |
| (Button1) | (Button1) |
| | |
| 3| 4|
|-----------------------------------------|
Legend: It a window form has four canvas (are 1,2,3,4) added to grid.
Ниже мой код. Я использую .Net 3.0, но окно не отображается правильно. Button1 отображается только на canvas1. Пожалуйста, помогите мне решить эту проблему.
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(MainWindow_Loaded);
}
void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
Button bt1 = new Button()
{ Content = "Button1", Width = 100, Height = 50 };
// Add button1 to four DrawingCanvas.
canvas1.Add(bt1);
canvas2.Add(bt1);
canvas3.Add(bt1);
canvas4.Add(bt1);
}
}
public class DrawIngCanvas : Canvas
{
public void Add(UIElement data)
{
DrawIngCanvas cv = LogicalTreeHelper.GetParent(data) as DrawIngCanvas;
if (cv != null)
{
cv.RemoveLogicalChild(data);
cv.RemoveVisualChild(data);
}
base.Children.Add(data);
}
}