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#中显示它?
答案 0 :(得分:0)
正如你所说的这句话
this.AddChild(b);
不会工作,因为错误指出它需要单个元素(即Grid,StackPanel)
为xaml中的网格命名 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