GridView
의 코드 뒤에서 스타일을 설정하려면 ListView
입니다. 그게 ListView.View
종속성 속성이므로 변경된 시간을 모니터링하고 싶습니다. 종속성 속성을 추가하려고ListView.View 변경 사항에 대한 모니터
this answer에서 콜백을 변경 :
Error CS1503 Argument 2: cannot convert from 'System.Windows.DependencyPropertyChangedEventHandler' to 'System.EventHandler'
여전히 컴파일러를 유지 (EventHandler)handler
캐스팅하려고 : 핸들러는
void Handler(object sender, DependencyPropertyChangedEventArgs e) { ... }
컴파일러 오류가 발생합니다
var handler = new DependencyPropertyChangedEventHandler(Handler);
DependencyPropertyDescriptor.FromProperty(ListView.ViewProperty,
typeof(ListView)).AddValueChanged(listView, handler);
입니다
경우 불평 :Error CS0030 Cannot convert type 'System.Windows.DependencyPropertyChangedEventHandler' to 'System.EventHandler'
나는 표준 이벤트 핸들러를 사용하려고하면 :
void Handler(object sender, EventArgs e) { ... }
그것을 컴파일 가능한하게
var handler = new EventHandler(Handler);
을하지만, 그것은
로 실행시 충돌합니다An unhandled exception of type 'System.ArgumentException' occurred in PresentationFramework.dll
Additional information: Handler type is not valid.
AddValueChanged
종속성 속성 콜백을 사용하여 다른 작업을 시도하려면 어떻게해야합니까? 아마도 그 접근법은 틀렸을 것입니다. 왜 그럴까요? ListView.View
이 변경되면 어떻게 알릴 수 있습니까?
this answer의 솔루션을 적용하고 싶지 않습니다. 바인딩을 사용할 수 없으며 (xaml에 값이 설정 됨) MyListView
만 만들고 싶지는 않습니다.
감사합니다, 그건 정말 도움이되었다. 오류는 실제로 다른 이벤트 처리기 (내 질문이 가난한)에서 온다,하지만 제목 + 대답은 내가 추측하는 다른 사람에게 유용 할 수 있습니다. – Sinatr