使用MVVM使用UserControl和DepenencyProperty创建自定义控件

时间:2019-02-13 02:14:47

标签: wpf mvvm

我已经创建了一个MVVM UserControl,可以执行我想要的操作,但是我想添加一个DependencyProperty,它可以给我带来更多的灵活性。 (如果DependencyProperty是最好的方法。)

基本上,我想添加此功能...

session

我在MyCustomControlViewModel中添加了以下DependencyProperty:

.xml

但是,当我尝试将该属性添加到XAML中的控件时,我没有选择添加IsMasterControl的选项。

我可能会缺少什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

我不确定在ViewModel中定义DP是否有意义,DP是否被视为演示的一部分。通常,您可以在视图中专门在 code-behind 中定义它们。视图和DP甚至可能在VM之前就存在。 (对于DP层次结构也可能很重要)。

现在,如果您真的希望在VM中使用它(例如,作为常规C#属性),则仍然需要在视图的代码隐藏中公开DP。您需要使两者保持同步。当说DP更改时,将处理更改事件并通知VM,反之亦然。