2016-06-17 4 views
0
Template10とUWPアプリのviewmodelでのPropertyChangedトリガは、以下の方法によってによってトリガされる

のPropertyChanged Template10クラス

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

Set関数がクラスbindableBaseに配置されます。

この同じ機能をUsercontrolでどのように使用できますか?

私はfolowingを試してみましたが、それは動作しませんでした:

BindableBase x; 

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

答えて

0

あなたはユーザーコントロールを配置ページは、関連するプロパティを持っているならば、あなたは、例えばのviewmodelを使用することの方法では使用しないでくださいページのDataContextにバインドされているビューモデルのusercontrol部分のフィールドにデータを設定します。 MVVMを見直す必要があると思います。または、viewmodelは問題のuserControlのDataContextである可能性があります。

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の外観(特に最初のレッスン)を与えることをお勧めします。

関連する問題