TreeView
의 경우 SelectedItem
속성은 바인딩에 사용할 수없는 것 같습니다. 나는 이것이 어떻게 MSDN 문서와 일치 할 수 있는지 이해하려고 노력하고있다. 등록 정보가 BindableAttribute
세트가 표시되어있는 경우TreeView.SelectedItem의 바인딩 가능성에 대한 MSDN 설명서
: 그것은
Treeview.SelectedItem
부동산에 관한 말한다 https://msdn.microsoft.com/en-us/library/system.windows.controls.treeview.selecteditem.aspx에: 다음
[BindableAttribute(true)] public object SelectedItem { get; }
이 https://msdn.microsoft.com/en-us/library/system.componentmodel.bindableattribute.aspx는 "주의"에서 말한다
true
, 으로 변경하려면 속성 변경 알림을 발생시켜야합니다 ().속성. 즉,Bindable
속성이Yes
인 경우 양방향 데이터 바인딩이 지원됩니다.Bindable
이No
인 경우 속성에 바인딩 할 수는 있지만 속성을 올리거나 올리지 않을 수 있으므로이 속성은 바인딩 할 속성 의 기본 집합으로 표시하면 안됩니다.
나는 "당신의 재산이 true
에 BindableAttribute
세트가있는 경우, 당신이 그것을 결합 수에 상관없이 어떤 값이 Bindable
로 설정됩니다."로 읽어 Bindable
은 [...]
부분에 SelectedItem
으로 나열되어 있지 않습니다. 이는 Bindable
이 No
으로 설정되었다고 가정합니다.
문서에 따르면 SelectedItem
에 바인딩하면 올바르게 작동합니까? 아니면 내가 오해하고 있습니까? 그렇다면 무엇입니까? 내가
<TreeView SelectedItem="{Binding foo, Mode=OneWayToSource}" />
가 작성하는 경우
는 "SelectedItem
속성 접근 세터가 없습니다." (원본 : "다이 SelectedItem
-Eigenschaft"verfügt의 동네 짱 kein 세터 - OBJEKT, 안녕히로써 zugegriffen werden을 kann.)
하지만 지금은 다시 혼란 스러워요 - 내가 참조 OneWayToSource binding from readonly property in XAML, Pushing read-only GUI properties back into ViewModelSelectedItem
의 변화가 반영 것을 의미 만 바인딩 OneWayToSource
를 사용하도록했다 foo
에 있지만 그 반대의 경우는 아닙니다. 그래서 왜 세터가 신경 써야합니까?