NeuroWhAI의 잡블로그

VRC Stalker 개발 중 바보 같은 짓 본문

끄적거리기

VRC Stalker 개발 중 바보 같은 짓

NeuroWhAI 2018. 12. 26. 20:53


VRChat Stalker : https://neurowhai.tistory.com/202


VRC Stalker를 개발할 때 친구들을 목록에 표시하는 부분을 ListBox의 바인딩으로 구현했었습니다.

친구들이 추가되거나 삭제될 때는 제대로 ListBox에서도 갱신이 되었었는데

기존 친구 객체의 필드 값이 바뀌면 그 정보는 갱신이 되질 않았습니다.

예를 들면 ListBox에서 친구 객체의 Name을 표시하도록 해놨는데

코드에서 Name이 바뀌어도 ListBox에는 이전 Name이 계속 표시되는 것이죠.

무려 며칠에 걸친 구글링을 했지만 참 멍청하게 해결책이랍시고 갱신된 친구 객체를 리스트에서 제거하고 다시 삽입했습니다.

그럼 뭐 일단 ListBox에서 갱신은 됬었으니까요.

...

문제는 이 리스트 박스에 필터와 정렬 기능이 있는지라 제거/삽입을 수행하면 해당 친구 정보의 표시 위치가 바뀌어버립니다.

UX적으로(?) 아주 짜증나는 현상이었지만 이게 최선이라서 그대로 릴리즈를 했었는데

좋은 WPF 강좌를 보던 중 각 친구 객체에도 프로퍼티 변경 알림 인터페이스를 구현하면 UI에서도 알아서 갱신이 된다는 놀랍고도 당연한 사실을 알게 되었습니다.

그래서 방금 VRC Stalker에 적용했는데 잘 되네요.

멍청...

역시 야매로 배우면 이런 문제가 생기네요.

기초부터 탄탄히 배워야...



Comments