UI 컨트롤이없는 다른 클래스의 속성에 속성을 바인딩하는 방법은 무엇입니까?

MisterPresident

저는 간단한 작업을 조사하기 위해 Google에서 몇 시간을 보내고 있습니다. 내 변수 TestStringTestClass.MeinString에 바인딩하려고합니다 .

" tb_tbBinding " 버튼을 클릭하면 TestString과 TestClass.MyString은 동일한 값을 유지해야합니다.

관련 코드 :

public partial class Window_Test : Window, INotifyPropertyChanged
{
    public Window_Test()
    {
        InitializeComponent();
        DataContext = this;

        // Trying to bind TestClass.MeinString to TestString
        BindingOperations.SetBinding(TestClass, BindingTestClass.MeinStringProperty, new Binding("TestClass.MeinString") { UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged });
    }



    string _TestString = "Hello World!";
    public string TestString
    {
        get
        {
            return _TestString;
        }
        set
        {
            _TestString = value;
            OnPropertyChanged("TestString");
        }
    }

    BindingTestClass _TestClass = new BindingTestClass("Hallo Lukas!");
    public BindingTestClass TestClass
    {
        get
        {
            return _TestClass;
        }
        set
        {
            _TestClass = value;
            OnPropertyChanged("TestClass");
        }
    }

    private void btn_testclasschanger_click(object sender, RoutedEventArgs e)
    {
        TestClass.MeinString = "Changed String!";
    }

    private void btn_teststringchanger_click(object sender, RoutedEventArgs e)
    {
        TestString = "Changed Class!";
    }

}

내 맞춤 수업 :

 public class BindingTestClass : DependencyObject, INotifyPropertyChanged
    {
        public BindingTestClass(string myString)
        {
            MeinString = myString;
        }

        public string MeinString
        {
            get
            {
                return (string)GetValue(MeinStringProperty);
            }
            set
            {
                SetValue(MeinStringProperty, value);
                OnPropertyChanged("MeinString");
            }
        }

        public static readonly DependencyProperty MeinStringProperty = DependencyProperty.Register("MeinString", typeof(string), typeof(BindingTestClass), new FrameworkPropertyMetadata()
        {
            BindsTwoWayByDefault = true,
            DefaultUpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
        });

        public event PropertyChangedEventHandler PropertyChanged;
        protected void OnPropertyChanged(string name)
        {
            PropertyChangedEventHandler handler = PropertyChanged;
            if (handler != null)
            {
                handler(this, new PropertyChangedEventArgs(name));
            }
        }
}

감사합니다!

레이첼

Source바인딩 속성을 설정하십시오.

BindingOperations.SetBinding(TestClass, BindingTestClass.MeinStringProperty, 
    new Binding("TestString") { Source=this, UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged });

기본적으로 바인딩 .DataContext은 바인딩의 소스로를 사용 하지만 귀하의 경우 TestClass에는 .DataContext아무것도 설정 하지 않습니다 . 사실 .NET의 유효한 속성인지 확실하지 않습니다 DependencyObject.

일반적으로는 .DataContextWPF의 시각적 트리에있는 개체의 부모로부터 상속되지만 시각적 트리의 TestClass일부가 아니므로 상속 할 항목이 없습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

ComboBox의 SelectedItem 및 SelectedIValue에 다른 속성을 바인딩하는 방법은 무엇입니까?

분류에서Dev

범위 속성을 CSS 속성에 바인딩하는 다른 방법은 무엇입니까?

분류에서Dev

다른 클래스에서 버튼의 속성을 변경하는 방법은 무엇입니까?

분류에서Dev

컨트롤의 속성을 다른 컨트롤의 속성에 바인딩하는 방법

분류에서Dev

DataTemplate 내부에있는 컨트롤의 (종속성) 속성을 프로그래밍 방식으로 바인딩하는 방법은 무엇입니까?

분류에서Dev

Typescript에 다른 클래스 속성을 입력하면 클래스 속성 중 하나를 강제로 선언하는 방법은 무엇입니까?

분류에서Dev

다른 클래스에 대한 종속성을 위해 @InjectMocks를 사용하는 방법은 무엇입니까?

분류에서Dev

OData 모델을 사용하여 두 데이터 속성을 하나의 컨트롤 속성으로 직접 바인딩하는 방법은 무엇입니까?

분류에서Dev

한 필드가 다시 다른 클래스의 개체 인 datagridview에 클래스의 개체 목록을 바인딩하는 방법은 무엇입니까?

분류에서Dev

다른 클래스에서지도 주석 속성을 얻는 방법은 무엇입니까?

분류에서Dev

클래스 내에서 속성을 호출하는 올바른 방법은 무엇입니까?

분류에서Dev

Ant에서-한 속성을 다른 속성의 값으로 사용하는 방법은 무엇입니까?

분류에서Dev

Gradle의 다른 종속성에 로컬 jar 종속성을 추가하는 방법은 무엇입니까?

분류에서Dev

텍스트 상자 텍스트를 다른 클래스 속성과 바인딩하는 방법은 무엇입니까?

분류에서Dev

사용자 지정 종속성 속성을 컨트롤의 뷰 모델에 바인딩하는 방법은 무엇입니까?

분류에서Dev

데이터 바인딩의 기본 속성 인 속성을 확인하는 방법은 무엇입니까?

분류에서Dev

Python 라이브러리의 기본 클래스에 속성을 추가하고 상속하는 올바른 방법은 무엇입니까?

분류에서Dev

JS의 다른 속성에서 속성을 얻는 방법은 무엇입니까?

분류에서Dev

배열의 객체 속성을 여러 클래스 속성에 할당하는 방법은 무엇입니까?

분류에서Dev

객체 속성과 사전 키 이름이 다른 경우 객체 / 클래스 속성을 사전에 매핑하는 방법은 무엇입니까?

분류에서Dev

동적으로 생성 된 컨트롤을 reactui의 속성에 바인딩하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

Vue.js 클래스 바인딩에서 현재 요소의 속성을 확인하는 방법은 무엇입니까?

분류에서Dev

NSPredicate로 다른 클래스 속성을 필터링하는 방법은 무엇입니까?

분류에서Dev

이름이 변수에있는 속성의 값을 작성하는 올바른 방법은 무엇입니까?

분류에서Dev

jschema에서 한 속성을 다른 속성보다 더 많이 확인하는 방법은 무엇입니까?

분류에서Dev

상속 된 다른 클래스에서 슈퍼 생성자를 호출하는 방법은 무엇입니까?

분류에서Dev

의사 클래스 속성을 변경하는 방법은 무엇입니까?

분류에서Dev

인스턴스화 된 개체 뒤에 다른 속성을 설정하는 방법은 무엇입니까?

분류에서Dev

build.sbt에서 Jackson 데이터 바인딩 종속성을 정의하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    ComboBox의 SelectedItem 및 SelectedIValue에 다른 속성을 바인딩하는 방법은 무엇입니까?

  2. 2

    범위 속성을 CSS 속성에 바인딩하는 다른 방법은 무엇입니까?

  3. 3

    다른 클래스에서 버튼의 속성을 변경하는 방법은 무엇입니까?

  4. 4

    컨트롤의 속성을 다른 컨트롤의 속성에 바인딩하는 방법

  5. 5

    DataTemplate 내부에있는 컨트롤의 (종속성) 속성을 프로그래밍 방식으로 바인딩하는 방법은 무엇입니까?

  6. 6

    Typescript에 다른 클래스 속성을 입력하면 클래스 속성 중 하나를 강제로 선언하는 방법은 무엇입니까?

  7. 7

    다른 클래스에 대한 종속성을 위해 @InjectMocks를 사용하는 방법은 무엇입니까?

  8. 8

    OData 모델을 사용하여 두 데이터 속성을 하나의 컨트롤 속성으로 직접 바인딩하는 방법은 무엇입니까?

  9. 9

    한 필드가 다시 다른 클래스의 개체 인 datagridview에 클래스의 개체 목록을 바인딩하는 방법은 무엇입니까?

  10. 10

    다른 클래스에서지도 주석 속성을 얻는 방법은 무엇입니까?

  11. 11

    클래스 내에서 속성을 호출하는 올바른 방법은 무엇입니까?

  12. 12

    Ant에서-한 속성을 다른 속성의 값으로 사용하는 방법은 무엇입니까?

  13. 13

    Gradle의 다른 종속성에 로컬 jar 종속성을 추가하는 방법은 무엇입니까?

  14. 14

    텍스트 상자 텍스트를 다른 클래스 속성과 바인딩하는 방법은 무엇입니까?

  15. 15

    사용자 지정 종속성 속성을 컨트롤의 뷰 모델에 바인딩하는 방법은 무엇입니까?

  16. 16

    데이터 바인딩의 기본 속성 인 속성을 확인하는 방법은 무엇입니까?

  17. 17

    Python 라이브러리의 기본 클래스에 속성을 추가하고 상속하는 올바른 방법은 무엇입니까?

  18. 18

    JS의 다른 속성에서 속성을 얻는 방법은 무엇입니까?

  19. 19

    배열의 객체 속성을 여러 클래스 속성에 할당하는 방법은 무엇입니까?

  20. 20

    객체 속성과 사전 키 이름이 다른 경우 객체 / 클래스 속성을 사전에 매핑하는 방법은 무엇입니까?

  21. 21

    동적으로 생성 된 컨트롤을 reactui의 속성에 바인딩하는 가장 좋은 방법은 무엇입니까?

  22. 22

    Vue.js 클래스 바인딩에서 현재 요소의 속성을 확인하는 방법은 무엇입니까?

  23. 23

    NSPredicate로 다른 클래스 속성을 필터링하는 방법은 무엇입니까?

  24. 24

    이름이 변수에있는 속성의 값을 작성하는 올바른 방법은 무엇입니까?

  25. 25

    jschema에서 한 속성을 다른 속성보다 더 많이 확인하는 방법은 무엇입니까?

  26. 26

    상속 된 다른 클래스에서 슈퍼 생성자를 호출하는 방법은 무엇입니까?

  27. 27

    의사 클래스 속성을 변경하는 방법은 무엇입니까?

  28. 28

    인스턴스화 된 개체 뒤에 다른 속성을 설정하는 방법은 무엇입니까?

  29. 29

    build.sbt에서 Jackson 데이터 바인딩 종속성을 정의하는 방법은 무엇입니까?

뜨겁다태그

보관