我有一個XAML代碼,它應該在TabControl
中加載我的UserControl
。XAML不會從ViewModel對象加載UserControl
如果我把這個XAML代碼:
<DataTemplate x:Key="WorkspacesTemplate">
<TabControl
IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding Path=Gui}"
ItemTemplate="{StaticResource ClosableTabItemTemplate}"
Margin="4"
/>
</DataTemplate>
我是絕對沒有出現在Windows(GUI屬性是視圖模型類中,並返回一個用戶控件)。
但如果我把他的XAML代碼,而不是前一個:
<DataTemplate x:Key="WorkspacesTemplate">
<TabControl
IsSynchronizedWithCurrentItem="True"
ItemsSource="{Binding}"
ItemTemplate="{StaticResource ClosableTabItemTemplate}"
Margin="4"
/>
</DataTemplate>
我視圖模型加載對象:
alt text http://clip2net.com/clip/m12122/1248018108-clip-3kb.png
這裏是一塊的TextBoxInputViewModel
的代碼具有應該綁定以獲得Visual(用戶控制)的屬性Gui:
private UserControl gui;
public UserControl Gui
{
get
{
if (this.gui == null)
{
this.gui = new SimpleTextBoxInputControl();//Xaml User Control
this.gui.DataContext = this;//Bind the Visual and ViewModel
}
return this.gui;
}
}
任何想法如何我可以得到UserControl
而不是此對象引用文本?
您是否嘗試在輸出窗口中查看ItemsSource =「{Binding Path = Gui}」?輸出窗口顯示綁定錯誤,該消息應該有幫助 – 2009-07-19 18:24:19
謝謝注意輸出窗口。我看到「System.Windows.Data錯誤:32:ObjectDataProvider需要一個ObjectType或ObjectInstance。」但不能看出它是否與此綁定有關。 – 2009-07-19 20:25:33
我不認爲它與那個綁定的原因有關,如果我把它綁定到它自己,它仍然有這個錯誤。 – 2009-07-19 23:30:43