programing

WPF 바인딩 모드에는 어떤 것이 있습니까?

golfzon 2023. 4. 9. 22:37
반응형

WPF 바인딩 모드에는 어떤 것이 있습니까?

다음과 같은 WPF의 다양한 데이터바인딩 모드를 이해할 수 없습니다.

  • 단방향
  • 쌍방향
  • 일회성
  • 기타...

이러한 각 모드는 무엇을 의미합니까?

언제 사용해야 합니까?

  • OneWay: 이 바인드된 속성이 사용자 인터페이스를 업데이트하도록 하려면 이 옵션을 사용합니다.
  • TwoWay은, 「」와 같은 입니다.OneWay ★★★★★★★★★★★★★★★★★」OneWayToSource됩니다(이 변경으로 갱신됩니다).TextBox ★★★Checkbox★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
  • OneTime은, 「」와 같은 입니다.OneWay단, 사용자 인터페이스를 한 번만 업데이트합니다.이것은 바인딩에 대한 기본 선택입니다(다양한 이유로 여기서는 자세히 설명하지 않습니다).실제로 추가 기능이 필요한 경우에만 다른 유형의 바인딩을 사용해야 합니다.
  • OneWayToSource은 : 의 입니다.OneWay-- -- 속성을 갱신합니다.-- -- -- -- 、 -- -- -- -- -- -- -- 。

아무것도 지정하지 않으면 동작은 사용 중인 컨트롤에 따라 달라집니다.

것에 대하여는, 「 」, 「 」를 해 주세요.BindingMode를 참조해 주세요.

바인딩은 다음 두 개의 엔티티로 구성됩니다.

  1. 소스(일반적으로 MVVM 시나리오의 View Model)
  2. 대상(UI 컨트롤)

은 ' 낫다' 합니다.DependencyObject로, 는 a(작업에 바인딩하는 경우)로 할 수 .DependencyObject "WPF")을 합니다.INotifyPropetyChnaged★★★★★★★★★★★★★★★★★★」


MVVM ViewModel View를 사용하는 이 좋습니다.INotifyPropertyChangedWPF 바인딩으로 수신되는 소스 개체를 만듭니다.바인딩은 소스의 속성과 대상의 속성 사이에 발생합니다.DependencyPropertyTextPropertyTextBoxto ( ) class data Data Bound to ( say )UserName바인딩이 .WPF의 4개입니다.달리 실행하도록 지정하지 않는 한 UI 스레드에서 바인딩이 실행됩니다.

  1. 일방향: 대상 속성은 변경되는 원본 속성을 수신하고 자동으로 업데이트됩니다.ViewwModel을 프로그래밍 방식으로 변경하는 경우UserName텍스트 상자에 반영됩니다.바인딩 시스템이 소스 변경만 감시하기 때문에 이는 중간 비용입니다.
  2. TwoWay: 대상 속성은 변경되는 원본 속성을 수신하고 자동으로 업데이트됩니다.그리고 소스 속성은 변경되는 대상 속성을 수신하고 자동으로 업데이트됩니다.둘 다TextProperty및 그UserName속성은 동기화된 상태로 유지되며 하나가 변경되면 서로 업데이트됩니다.이것은 바인딩 시스템이 양쪽에서 변화를 지켜봐야 하기 때문에 가장 비용이 많이 듭니다.
  3. 단방향 소스:대상 속성이 변경되면 소스 속성이 변경됩니다.사용자가 변경했을 경우TextProperty , . . . . . . . .UserName속성이 변경된 값을 차지합니다.바인딩 시스템이 타겟의 변경만을 감시하기 때문에 이 역시 중간 비용입니다.
  4. 일회성:이 작업은 바인딩 수명 동안 한 번만 수행되며 바인딩이 수행될 때 대상 속성이 소스 속성으로 업데이트됩니다.이 방법은 비용이 가장 적게 들고 정적 데이터를 표시하는 시나리오에 적합합니다. Label,TextBlocksyslog.

아무 말도 하지 않으면 모든 대상 속성에는 기본 바인딩 모드가 연결됩니다.예:TextPropertyTextBox.TwoWay의 .TextPropertyTextBlock그것은 한 가지 방법이다.

특히 UI에 제어가 많은 경우 애플리케이션 지연 시간을 단축할 수 있으므로 올바른 모드를 선택하는 것이 좋습니다.

MVVM에 대한 자세한 내용은 제가 작성한 기사를 참조하십시오.

언급URL : https://stackoverflow.com/questions/2305179/what-are-the-various-wpf-binding-modes

반응형