Propertychanged Template10类

时间:2016-06-17 15:34:29

标签: c# uwp template10

使用Template10的UWP应用程序的viewmodel中的propertychanged触发器由以下方式触发:

public var Thing{ get { return thing; } set { Set(ref thing, value); } }

Set函数放在bindableBase类中。

如何在Usercontrol中使用相同的功能?

我尝试了下面的内容,但这并没有奏效:

BindableBase x;

var foo;
public var Foo{ get { return foo; } set { x.Set(ref foo, value); } }

2 个答案:

答案 0 :(得分:0)

如果您放置usercontrol的页面具有与填充视图模型的usercontrol部分的字段相关联的属性,那么您不会以这种方式使用视图模型,例如,该视图模型绑定到Page的DataContext 。我想你需要复习MVVM。或者viewmodel可以是有问题的userControl的DataContext。

答案 1 :(得分:0)

创建UserControl时,您需要使用DependencyProperty来创建可绑定属性。当在另一个控件(如Page)中使用UserControl时,需要使它们按预期运行。 DependencyProperties定义如下:

    public int MyProperty
    {
        get { return (int)GetValue(MyPropertyProperty); }
        set { SetValue(MyPropertyProperty, value); }
    }

    // Using a DependencyProperty as the backing store for MyProperty.  This enables animation, styling, binding, etc...
    public static readonly DependencyProperty MyPropertyProperty =
        DependencyProperty.Register("MyProperty", typeof(int), typeof(ownerclass), new PropertyMetadata(0));

使用Visual Studio中的propdp代码段最容易创建它们。

我建议给this MVA course一个关于如何创建自定义控件的第一课(特别是第一课)