TreeView
の場合、プロパティーSelectedItem
はバインディングに使用できないようです。私はこれがMSDNのドキュメントとどのように矛盾しないかを理解しようとしています。 https://msdn.microsoft.com/en-us/library/system.windows.controls.treeview.selecteditem.aspxでTreeView.SelectedItemのバインディングに関するMSDNのドキュメント
それはTreeview.SelectedItem
プロパティについてこう述べています。
[BindableAttribute(true)] public object SelectedItem { get; }
次に、このhttps://msdn.microsoft.com/en-us/library/system.componentmodel.bindableattribute.aspxは、 "備考" の下に書かれています:
プロパティは
BindableAttribute
セットでマークされている場合true
に、 に変更する必要があります。その場合は、 プロパティ。つまり、Bindable
プロパティがYes
の場合は、 双方向データバインディングがサポートされます。Bindable
がNo
の場合でも、プロパティには バインドすることができますが、プロパティを設定する場合としない場合があるので、バインドするプロパティのデフォルトセットには、 プロパティが表示されないようにしてください。
「あなたの財産はtrue
へBindableAttribute
セットを持っている場合は、それに結合することができ、値がBindable
に設定されているに関係なく。」と私はそれを読みますBindable
は、SelectedItem
の[...]
部分に記載されていません。これは、Bindable
がNo
に設定されていることを意味します。
ドキュメントによれば、SelectedItem
へのバインディングは正しく動作するはずですか?または私は何かを誤解していますか?はいの場合、何ですか?私は
<TreeView SelectedItem="{Binding foo, Mode=OneWayToSource}" />
を書く場合
それは "SelectedItem
プロパティにアクセスセッターを持っていません。" と言います(オリジナル:verfügtユーバーのKEINセッター-Objekt「SelectedItem
-Eigenschaftダイ」、アウフダスzugegriffen werdenカン。)
しかし、今、私は再び混乱している - 私はOneWayToSource binding from readonly property in XAMLPushing read-only GUI properties back into ViewModelSelectedItem
の変更が反映されていることを意味し、結合OneWayToSource
を使用するだけにそれを告げましたfoo
では、それ以外の方法ではありません。だからなぜセッターについて気にするのですか?