如何以编程方式将新元素停靠到DockPanel?

39

如何以编程方式创建基于UserControl的元素并将其停靠到DockPanel上?

4个回答

71
var myControl = new MyUserControl();
DockPanel.SetDock(myControl, Dock.Left);
myDockPanel.Children.Add(myControl);

另请参见此处此处


添加用户控件到 DockPanel 后,应用程序为什么会无响应?有任何想法吗? - IAbstract
1
@IAbstract,不应该发生这种情况。 - Lars Truijens
1
我已经弄清楚了 - URI 不正确。:( 看起来这个问题可以更优雅地处理。一旦你查询图像的属性,它就会冻结。 - IAbstract

3
Button TopRect = new Button();

TopRect.Background = new SolidColorBrush(Colors.LightGreen);

TopRect.Height = 50;

TopRect.Content = "Top";

// Dock button to top

DockPanel.SetDock(TopRect, Dock.Top);

// Add docked button to DockPanel

dcPanel.Children.Add(TopRect);

例子


2
var uc = new UserControl1();
uc.SetValue(DockPanel.DockProperty, Dock.Left);
myDockPanel.Children.Add(uc);

0
如果您的 DockPanel 的最后一个元素漂浮在面板中间,请检查是否已经分配了 myDockPanel.LastChildFill = false;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接