나는 트 리뷰에 표시되는 항목의 수를 결정하기 위해 부착 행동WPF 트 리뷰 항목 가시성 첨부 행동
public class resizingBehavior : Behavior<ItemsControl>
을 쓰고 있어요. OnAttached 방법에
내가로드 할 때이 이벤트가 호출되는private void AssociatedObject_Loaded(object sender, RoutedEventArgs e)
{
var itemsControl = (ItemsControl)sender;
_sizeChangedEventHandler = (s, f) => ComputeVisibleItemsCount(itemsControl);
var treeListView = AssociatedObject as TreeListView;
treeListView.SizeChanged += _sizeChangedEventHandler;
itemsControl.Loaded -= AssociatedObject_Loaded;
}
내 트 리뷰 컨트롤의 크기 변경 이벤트 핸들러를 후킹하고있어
protected override void OnAttached()
{
base.OnAttached();
AssociatedObject.Loaded += AssociatedObject_Loaded;
}
이벤트 핸들러 AssociatedObject.Loaded
을 내 애플 리케이션과 때 내 treeview의 크기를 조정. 내 문제는 treeview 내부에 보이는 항목의 계산에 있습니다. 불행히도 IsVisible 속성은 올바른 결과를주지 못합니다. In WPF, how can I determine whether a control is visible to the user?
에 나와있는 답변을 사용했지만 그게 효과가없는 것 같습니다. 그것은 나에게 잘못된 결과를 준다.
itemscontrol에서 실제 볼 수있는 항목을 확인하기위한 우수 사례 또는 표준 해결책은 무엇입니까? 크기 조정 및 스크롤 할 때? 그건 그렇고 내 treeview 항목에 대한 반응 수집을 사용하고 있습니다.