UI에서 값 변경시 바로 UI에 변경이 되는 방법을 알고 싶습니다.

안녕하세요.

제목과 동일하게 UI 상에서 임의로 값을 변경을 하였을 시 해당 칼럼의 값과 의존적인 성향을 가진 칼럼의 값이 있을 때 바로 반영이 되는 방법을 알고 싶습니다.

INotifyPropertyChanged 는 구현하여 해당 클래스에 적용을 한 상태입니다.
20240202_104203

위의 사진을 봐주십시요

ack나 sound의 체크 여부에 따라서 light에 해당하는 칼럼의 숫자 값이 변경되는 형식입니다.
light는 클래스를 만들 시에 로직 자체에서 ack와 sound의 값에 따라 의존적으로 바뀌게끔 짜두었습니다.

ui상에서 ack와 sound를 체크하거나 체크해제 하였을 시에, Light의 해당 행을 더블 클릭하면 그때 값이 바뀌는 것을 확인 할 수 있습니다 .

따로 떠블클릭하지 않고 자동으로 변경감지해서 UI에서 확인 할 수 있는 방법이 있을까요?? ( gpt에게 물었더니 동일하게 INotifyPropertyChanged를 사용하면 된다고 하고 있어서 질문드립니다. )

강제로 해당 UI창을 refresh하는 방법으로 해야할까요?

INotifyPropertyChanged를 어떻게 사용하셨는지

INotifyPropertyChanged를 사용한 class의 정의와 XAML 구현부분 첨부가 필요해보입니다.

2 Likes

Ack, Sound, Light 이 모두 특정 클래스의 멤버라고 가정을 하고, Ack, Sound 에 two way 바인딩이 설정되어 있다면,

Ack, Sound 의 세터에서,

set
{
   if(value != ...)
   {
       //...
      OnAckOrSoundChanged();
   }
}

void OnAckOrSoundChanged()
{
   // ack와 sound의 값에 따라 의존적으로 바뀌게끔 짜두었던 코드 호출
}
1 Like