WPF Q&A

DependencyProperty 의 속성값 변경 이벤트. 비가와요 평점: 없음 조회: 230
처음 시도는 이렇게 했습니다.
하지만 생각했던것과는 다르게 MyFunction() 부분이 실행되지 않았습니다.
중단점을 찍어놓고 확인해봤는데도, 이 부분은 실행되지 않더군요.
public static readonly DependencyProperty MassProperty =
            DependencyProperty.Register("Mass", typeof(string), typeof(TestTable), new PropertyMetadata(string.Empty));
        
        public string Mass
        {
            get { return (string)GetValue(MassProperty); }
            set
            {                
                SetValue(MassProperty, value);
 
                MyFunction();
            }
        }

그래서 찾아봤더니 변경 이벤트를 적용하는 방법이 있던데,

public static readonly DependencyProperty MassProperty =
            DependencyProperty.Register("Mass", typeof(string), typeof(TestTable), new PropertyMetadata(string.Empty, OnPropertyChanged));
        
        public string Mass
        {
            get { return (string)GetValue(MassProperty); }
            set
            {                
                SetValue(MassProperty, value);
            }
        }

private static void OnPropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e)
        {
            //UserControl sp = sender as UserControl;            
            .
            .
            .
 
            //Console.WriteLine(e.NewValue);
            //Console.WriteLine(e.Property.Name);
            
            //MyFunction();
        }

이제.. OnPropertyChanged() 안에서 MyFunction() 을 호출하면 될줄 알았는데,
문제가 생겼습니다. OnPropertyChanged() 는 static 이고  MyFunction()은
private void MyFunction() {} 으로  선언되어 있습니다.
이 안에는 여러 콘트롤 들을 사용하고 있는데, 그게 다 static 에서는 으로는 접근이 안됩니다.

바인딩 된 종속 속성값이 변경됐을 경우 MyFunction() 이 실행되게 하려면 어떤 방법이 있을까요?

태그 : DependencyProperty
작성자 정보
비가와요
Level 25
 [EXP.1/50]

메일:  비공개
글등록 +12 492 덧글등록 +3 81
자기소개
WPF 초보입니다~
글 공유하기 |
  tweet facebook
2018-04-05 오후 11:16:31
나도한마디
사용자
천원            [2018-04-12]
Level 2
 [EXP.8/16]
TestTable testTable = sender as TestTable;

testTable.MyFunction();

하면 됩니다 private라도 같은 클래스에선 접근 가능한걸로 알고 있습니다.
사용자
비가와요            [2018-04-28]
Level 25
 [EXP.1/50]
감사합니다.
시도해봐야겠네요.
글리스트
canvas에 10개의 사각형을 add 했는데 2번째 사각형을 제일 위로 보이게 하고 싶습니다.[1]+1 
멀티 터치 가능한 수가 몇개인지 어떻게 알 수 있나요?  insurang
WPF에서는 바탕화면 캡처가 어렵네요.[2]  insurang
canvas 에 add한 객체를 지우는 방법을 문의드립니다.[1]  파랑삶
자 눈금선 숫자표기 궁금합니다.[2]+2  방랑이z
WebBrowser에서 새창을 띄웠을때 세션연동[1]  넬류어드
코드 줄이는 방법?[3]  왕초보자
MouseDown 원래 반응이 없나요?[2]+2  insurang
background 설정 관련 질문드립니다.  파일첨부 EY
tabcontrol안에 treeveiw xml 데이터 바인딩 후 컨트롤 보여질때 지연문제  좋은추억
 ★현재글->   DependencyProperty 의 속성값 변경 이벤트.[1]+1  비가와요
wpf 로 앱을만들때[1]+1  엿장수
빈 이벤트 삭제  임병기
WPF프로젝트에서 gif 반복재생[2]+3  왕초보자
GridLength DependencyProperty 를 적용할 때 Default 값을 적용하려면 어떻게 해야 하...  비가와요
wpf 상용 컴포넌트 질문좀 드립니다.[1]+1  좋은추억
특정 Row 의 높이에 맞게 ListView의 Height 를 변경하고 싶습니다.  비가와요
DataGridComboBoxColumn 속도문제[2]+2 파일첨부 gynth
wpf 한글이 string 변수에 안 들어가집니다. 파일첨부 leetoya
WPF 윈도우 새 창 질문드립니다.[1]+1  인상짱짱맨
style setter 가 작동하지 않습니다.  광합성하는남자