0

Template10 を使用した UWP アプリのビューモデルの propertychanged トリガーは、次の方法でトリガーされます。

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

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

この同じ関数をユーザーコントロールで使用するにはどうすればよいですか?

私は次のことを試しましたが、うまくいきませんでした:

BindableBase x;

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

2 に答える 2

0

たとえば、ユーザーコントロールを配置するページに、ページのDataContextにバインドされているビューモデルのユーザーコントロール部分のフィールドの入力に関連付けられたプロパティがある場合など、ビューモデルで使用するその方法では使用しません。MVVMを見直す必要があると思います。または、ビューモデルは、問題の userControl の DataContext である可能性があります。

于 2016-06-18T04:20:39.950 に答える
0

を作成するときUserControlは、 を使用DependencyPropertyしてバインド可能なプロパティを作成します。他のコントロール ( など) 内で UserControl を使用する場合、期待どおりに動作させる必要がありますPage。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));

propdpこれらは、Visual Studioのスニペットを使用して最も簡単に作成できます。

この MVA コースで、カスタム コントロールの作成方法を確認することをお勧めします (特に最初のレッスン)。

于 2016-06-20T17:06:14.287 に答える