0

サード パーティ コントロールの読み取り専用プロパティにバインドしようとしています (そのため、プロパティの実装を制御できません)。私が理解しているように、これは onewaytosource バインディング タイプとして行う必要があり、コードでも行う必要があります。

バインディングを設定する次のコードがあります。

            Binding svBinding = new Binding();
        svBinding.Path = new PropertyPath("SurfaceScrollViewer");
        svBinding.Source = DataContext;
        svBinding.Mode = BindingMode.OneWayToSource;
        Ds.SetBinding(DiagramSurface.ScrollViewerProperty, svBinding);

そして、ビューモデルでの私のプロパティの実装:

public DiagramScrollViewer SurfaceScrollViewer
    {
        get
        {
            return surfaceScrollViewer;
        }
        set
        {
            surfaceScrollViewer = value;
        }
    }

    private DiagramScrollViewer surfaceScrollViewer;

コードで同じデータ コンテキスト内の他のプロパティにアクセスできますが、何らかの理由で、このプロパティをバインドできません。誰かが私が間違っているところを見ることができますか?

4

2 に答える 2

0

こんにちは私はあなたの質問を誤解しましたごめんなさい。これは、ReadOnlyプロパティをOneWayToSource BindingModeにバインドするためのwpfの一種のバグであり、これに対する正確な答えを得ることができます

于 2012-07-16T03:44:20.647 に答える
0

wpfのバグなので動かない。このhttp://meleak.wordpress.com/2011/08/28/onewaytosource-binding-for-readonly-dependency-property/をご覧ください

于 2012-07-16T03:35:42.087 に答える