使用Caliburn Micro时,如何绑定到ContentControl上的自定义属性

时间:2015-06-11 15:44:17

标签: wpf mvvm caliburn.micro

我有一个usercontrol,它公开了一些依赖项属性。如果我直接使用这个用户控件,我只是直接在属性的视图中设置一个绑定,例如:

<uc:MyControl MyCustomProperty="{Binding SomeOtherProperty}" />

由于我使用的是Caliburn Micro和MVVM,因此似乎首选方法是在MyControlViewModel类型的“父”视图模型上创建属性,然后在视图中放置ContentControl。这应该创建与用户控件“MyControl”相关联的ViewModel(而不是将所有代码都粘贴在我的用户控件的“codebehind”中),然后设置datacontext以便将它绑定在一起。

所以“父”屏幕的ViewModel看起来像这样:

public MyControlViewModel MyControl { get; set; }
// MyControlViewModel gets either passed in via contructor or instanciated in the contructor

父屏幕的视图会显示:

<ContentControl x:Name="MyControl" />

这很有效。 Caliburn将控件呈现到ContentControl中,并按预期绑定到MyControlViewModel。

我的问题是 - 如何在此时绑定MyCustomProperty? ContentControl不公开MyCustomProperty。我可以在这里使用一些语法来设置此绑定吗?

0 个答案:

没有答案