0

私はビューを持っています:

<Grid>
    <!--Some Stuff-->
    <Control XXX="{Binding ButtomControl}"/>
    <!--Some Stuff-->
</Grid>

私はVMを持っています:

public sealed class SelectionDialogV3VM : PropertyChanges
{
    // Some Stuff
    public Control ButtomControl
    {
        get{return _buttomControl;}
        set
        {
            _buttomControl = value;
            OnPropertyChanged("ButtomControl");
        }
    }
    // Some Stuff
}

私の目的: 実行時に、メイン ビュー内のいくつかのビュー (BottomControl) を変更します。しかし、XXXプロパティがわからないので、適切なバインドができません。

ありがとう

4

4 に答える 4

3

他に何か追加したかっただけです:

ビュー モデルで UI コントロールを参照することは、絶対に避ける必要があります。

ビュー モデルを介してビューを切り替えたい場合は、代わりに DataTemplates と ContentControl を使用してみてください。

見る:

http://rachel53461.wordpress.com/2011/05/28/switching-between-viewsusercontrols-using-mvvm/

于 2013-01-16T18:04:26.090 に答える
2

このようなことを試してください:

<ContentControl Content="{Binding ButtomControl}"/>

しかし、正直なところ、ViewModel に次のタイプのプロパティを持つことControlは良い兆候ではありません:D

于 2013-01-16T09:18:23.097 に答える
1

ContentPresenterを使用します。

<ContentPresenter Content="{Binding ButtomControl}"/>

とにかく、コントロールにバインドするのは奇妙です!

于 2013-01-16T09:27:49.960 に答える
0

ありがとうございました。すべての回答は貴重でした

最後に、ここで説明するように、DataTriggers を使用しました: MVVM : DataTemplate + Triggers を使用してビューを切り替える方法

ありがとう

于 2013-01-17T12:16:32.053 に答える