我即将创建一个图表设计器,并创建节点和边缘作为用户控件。 我有一个堆栈面,我想放置它们。我已设法使其使用以下代码:
<Window.Resources>
<DataTemplate DataType="{x:Type Model:Node}">
<Canvas>
<View:NodeUserControl></View:NodeUserControl>
</Canvas>
</DataTemplate>
</Window.Resources>
<StackPanel Name="DisplayArea">
<ItemsControl ItemsSource="{Binding Nodes}" >
</ItemsControl>
</StackPanel>
节点是一个可观察的集合
但是这也显示了一个{NewItemPlaceholder}文本,我无法弄清楚原因。如果有人能指出我的错误,我真的很感激。
编辑:我试图用前面提到的代码创建一个新的解决方案,这个doenst显示[NewItemPlaceholder}。现在我真的很困惑,看不出差异,还有什么会导致这种情况。答案 0 :(得分:0)
我遇到了同样的问题,原因是死源数据绑定了两次:一次是DataGrid控件,另一次绑定到ItemsControl。 ItemsControl在画布上显示其项目,并且{NewItemPlaceholder}在那里可见。 解决方案是避免通过以下方式向DataGrid添加新项: 好。我不需要添加。