通过绑定在Wpf中加载用户控件

时间:2013-08-14 16:44:10

标签: c# wpf mvvm user-controls

目前我在WPF应用程序中有一个窗口和几个用户控件。我的目标是通过绑定到View Model中的属性将它们加载到XAML中。我一直在寻找一种方法来实现这一点,但大多数解决方案都依赖于使用代码隐藏而不是View Model。无论如何通过绑定来做到这一点?类似的东西:

<StackPanel Height="500" HorizontalAlignment="Left" Margin="0,46,0,0" Name="stackPanel1" VerticalAlignment="Top" Width="500" Content="{Binding SomeUserControl}" />

在代码中:

private Control _someUserControl;
public Control SomeUserControl
{
    get { return _someUserControl; }
    set { _someUserControl = value; }
}

1 个答案:

答案 0 :(得分:2)

您可以使用ContentPresenter代替StackPanel,因为只有一个元素:

<ContentPresenter Height="500" HorizontalAlignment="Left" Margin="0,46,0,0" VerticalAlignment="Top" Width="500" Content="{Binding SomeUserControl}" />