我有一个使用模型视图体系结构的树视图,每个TreeViewItem都有一个windows窗体属性,当我单击一个节点时,我希望应用程序显示与该节点关联的窗体树的右侧。WPF将树视图绑定到UserControl
如何使用绑定来实现此功能我尝试了以下方法,但与ApplicationForms关联的用户控件未显示。
<ContentControl Margin="163,5,127,5" Content="{Binding SelectedItem,ElementName=ApplicationTree}">
<ContentControl.Resources>
<DataTemplate DataType="{x:Type local:ApplicationViewModel}">
<StackPanel>
<TextBlock Text="Displaying an A!" />
<ContentPresenter Name="MyContent">
<ContentPresenter.Content>
<UserControl x:Name="UserCntrl2" HorizontalAlignment="Stretch" Height="Auto" Width="Auto" Content="{Binding ApplicationForms}"/>
</ContentPresenter.Content>
</ContentPresenter>
</StackPanel>
</DataTemplate>
<DataTemplate DataType="{x:Type local:ApplicationsViewModel}">
<StackPanel>
<TextBlock Text="Displaying a B!" />
<!--<TextBlock Text="{Binding Bar}" />-->
</StackPanel>
</DataTemplate>
</ContentControl.Resources>
</ContentControl>
看起来很好,我有任何绑定错误? – 2011-05-05 14:20:15
(在Visual Studio的输出窗口中发现绑定错误) – 2011-05-05 15:51:01
我不是100%确定的,但我认为我试图显示WindowsForm的事实可能是应该托管在WindowsFormsHost中的问题。但是,似乎windows窗体控件不支持绑定,所以我将被迫让ApplicationsViewModel直接调用顶层应用程序。 – Jon 2011-05-05 16:45:22