2013-11-29 26 views
0

我即將創建圖表設計器,並創建節點和邊作爲usercontrols。 我有一個我想放置它們的堆疊面板。我設法讓它與下面的代碼:stackpanel with usercontrol and itemsource顯示newitemplaceholder

<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> 

其中節點是一個ObservableCollection

但是,這也顯示了{} NewItemPlaceholder文字,我想不通爲什麼。如果有人能指出我的錯誤,我會很感激。

編輯:我試圖創建一個新的解決方案,只是前面提到的代碼,這個doenst顯示[NewItemPlaceholder}。現在我真的很困惑,看不出差別,還有什麼會導致這種情況。

+0

在哪個控件上顯示「{NewItemPlaceholder}」?或者我誤解了你的話? –

+1

請在學習複雜的東西之前通過創建一些'Hello,World!'類型的東西來學習WPF。 –

+0

您可以嘗試手動將您的DataTemplate分配爲ItemTemplate嗎?它顯示了什麼? – atomaras

回答

0

我得到了同樣的問題,原因是死的源數據被綁定兩次:一次到一個DataGrid控件和第二個綁定到一個ItemsControl。 ItemsControl在畫布上顯示其項目,並且{NewItemPlaceholder}在此處可見。 解決方案是通過以下方式避免向DataGrid添加新項目: 好的。我不需要添加。