0
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        System.Windows.Controls.Button b = new System.Windows.Controls.Button(); 
        System.Windows.Shapes.Rectangle r = new System.Windows.Shapes.Rectangle(); 
        r.Width = 40; 
        r.Height = 40; 
        r.Fill = System.Windows.Media.Brushes.Black; 
        b.Content = r; // Make the square the content of the Button
        this.AddChild(b);
    }
}

我有一些 WPF 4 书中的按钮代码,我想从这里显示(不是来自 XAML),但是当我想添加按钮“b”作为主窗口的子窗口时,我得到异常和信息:ContentControl 的内容必须是单个元素。

如何在 c# 中显示它?

4

1 回答 1

0

正如你所说的这条线

this.AddChild(b);

无法正常工作,因为错误指出它需要单个元素(即 Grid、StackPanel)

在 xaml 中为您的 Grid 命名 MainWindow.xaml

 <Grid x:Name="root">        
</Grid>

并将您的按钮添加到 MainWindow.xaml.cs 中的网格

 //this.AddChild(b);   //wont work cant add button to this(MainWindow)
 root.Children.Add(b); //adds button to the Grid of MainWindow
于 2015-02-28T10:27:22.940 回答