【发布时间】:2013-01-03 12:37:52
【问题描述】:
我想创建一个用户控件,它的工作方式与经典 Panel(或 Canvas)控件相同,希望我希望有一些用户无法删除的默认按钮。
我试过了:
namespace WpfApplication1
{
public class CustomPanel : Canvas
{
public CustomPanel()
{
Button b = new Button();
b.Name = "Button1";
b.Content = "Button1";
this.Children.Add(b);
}
}
}
它可以工作,但是当我编译它并在设计器中创建一个 CustomPanel 实例然后尝试插入另一个项目时,在构造函数中创建的 Button 被删除。
这是正确的方法,还是有比修改构造函数更好(更有效/优雅)的方法?
在此先感谢您的努力。
【问题讨论】:
-
你确定在ctor中创建的按钮被删除了吗?还是新孩子只是躺在旧孩子身上?还请在添加第二项的位置发布代码。
-
是的,它已被删除。我没有在代码中添加第二项,而是在设计器中添加了它,所以在添加第二项后,它看起来像这样:
-
我尝试了两种方法(在代码和设计器中添加按钮),在这两种情况下,新按钮都没有删除任何内容,它只是覆盖了旧按钮。
-
如果您自己解决了您的问题,请将正确的解决方案发布并标记为答案,以便有相同问题的人从中受益。
标签: c# wpf xaml user-controls