sourcecode

자체에 WPF 바인딩

codebag 2023. 6. 2. 20:27
반응형

자체에 WPF 바인딩

WPF가 있습니다.Window그리고 어딘가에ListView내가 묶는 곳에서List<string>로.

이제 내 어딘가에ListView가 있습니다.TextBox그리고Content속성이 다음으로{Binding}.

하지만 이것은 속기입니다.전체 바인딩을 자체 바인딩으로 작성하려면 어떻게 해야 합니까?

{Binding Path=Self}작동하지 않습니다, 또한 작동하지 않습니다.{Binding Self}(여기서 후자는 전자의 지름길입니다.)

단답:{Binding}는 "자체에 바인딩"(RelativeSource의 의미에서)을 위한 바로 가기가 아닙니다.Self). 오히려.{Binding} 와 동등합니다. {Binding Path=.}현재 소스에 바인딩됩니다.


자세히 설명하기:바인딩에는 소스경로가 있습니다.예를 들어, 다음을 사용하여 "자체에 바인딩"을 수행할 수 있습니다.

<myUIControl myProperty="{Binding RelativeSource={RelativeSource Self}, Path=x}" />

그러나 이렇게 하면 소스가 컨트롤 자체로 설정되므로 속성에 액세스하려고 시도합니다.x(속성이 아닌) UI 컨트롤의x(현재 데이터 컨텍스트의).제가 당신의 질문을 이해한 바로는, 이것은 당신이 원하는 것이 아닙니다; 특히, 그것은 무엇이 아닙니다.{Binding}수행:{Binding}소스를 그대로 유지합니다(일반적으로DataContext일부 부모 요소의) 및 소스 자체에 결합합니다(에 독립적).Path=.).

자신과 결합하는 또 다른 방법:

{Binding {}}

빈털터리{}RelativeSource에 바인딩됩니다.자신.

언급URL : https://stackoverflow.com/questions/1906587/wpf-bind-to-itself

반응형