在c#DragOver Drop中创建XAMLstackpanel

时间:2017-09-17 16:31:53

标签: c# wpf xaml

我正致力于在C#中创建StackPanels
尝试在C#中复制的xaml是

<StackPanel Grid.Column="0" Background="BlanchedAlmond" DragOver="panel_DragOver" Drop="panel_Drop" AllowDrop="True" MinWidth="150">

目前我所拥有的是:

StackPanel myPanel = new StackPanel
{
    MinWidth = 150,
    MinHeight = 150,
    AllowDrop = true
};
MainStack.Children.Add(myPanel);

目前唯一有效的问题是StackPanel没有DragOverDrop的属性,如何将其添加到C#代码中?

2 个答案:

答案 0 :(得分:1)

是的,确实有。

var sp = new StackPanel();
sp.Drop += (o, arg) => { };

您无法在对象创建体内分配事件。

答案 1 :(得分:1)

这些不是属性,而是可以使用+=语法将处理程序连接起来的事件:

StackPanel myPanel = new StackPanel
{
    MinWidth = 150,
    MinHeight = 150,
    AllowDrop = true
};
myPanel.DragOver += panel_DragOver;
myPanel.Drop += panel_Drop;
MainStack.Children.Add(myPanel);

当然,处理程序panel_DragOverpanel_Drop仍然必须像以前一样定义。