将整个UserControl绑定到属性

时间:2015-05-19 06:57:57

标签: c# wpf xaml mvvm user-controls

我的viewModel从服务获取UserControl。我想显示UserControl。

XAML看起来像:

<Grid >
    <ContentPresenter Content="{Binding AddInUI}">

    </ContentPresenter>
</Grid>

ViewModel的属性如:

public UIElement MyUI
        {
            get
            {
                return myUI;
            }
            set
            {
                Set(ref myUI, value);
            }
        }

所以我获取了ui并设置了这个VM的属性。但是,UI中没有任何渲染。即使在为其赋值之后,也永远不会调用MyUI属性的getter,如:

MyUI = 'some user control';

2 个答案:

答案 0 :(得分:0)

VM不会包含这样的特定于UI的元素。但是,它会检索ViewModel属性的MyUI上下文,并使用DataTemplate中的XAML来正确呈现ViewModel Type

答案 1 :(得分:0)

实施INotifyPropertyChanged并通知MyUI set财产的MyUI内的{{1}}财产。