ListBox一直是我的最愛;今天再次基于他玩耍一下不一樣的效果;閑話不多扯直接看效果:
1、這次直接用的ItemContainerStyle:
2、通過HitTest實現點選邊框:
Point?point?=?e.GetPosition(LightDarkListBox);
VisualTreeHelper.HitTest(LightDarkListBox, new HitTestFilterCallback(OnHitTestFilterCallback),new HitTestResultCallback(OnPointHitTestResultCallback), new PointHitTestParameters(point));
3、通過HitTest再次實現框選邊框:
Point point2 = e.GetPosition(LightDarkListBox);Rect rect = new Rect(origContentMouseDownPoint, point2);RectangleGeometry rectangleGeometry = new RectangleGeometry(rect);VisualTreeHelper.HitTest(LightDarkListBox, new HitTestFilterCallback(OnHitTestFilterCallback), new HitTestResultCallback(OnHitTestResultCallback), new GeometryHitTestParameters(rectangleGeometry));
4、處理點選和框選操作:
var path = result.VisualHit as Path;
if(path != null)
{var dataContext = path.DataContext as LightDarkLineModel;if(dataContext != null){dataContext.IsChecked = true;}
}
最終簡單的效果先這樣吧;以后有時間的話,可以再去摸索一下更復雜的效果
;編程不息、Bug不止、無Bug、無生活
;改bug的冷靜、編碼的激情、完成后的喜悅、挖坑的激動 、填坑的興奮;這也許就是屌絲程序員的樂趣吧;今天就到這里吧;希望自己有動力一步一步堅持下去;生命不息,代碼不止;大家抽空可以看看今天分享的效果,有好的意見和想法,可以在留言板隨意留言;我看到后會第一時間回復大家,多謝大家的一直默默的關注和支持!如果覺得不錯,那就伸出您的小手點個贊并關注一下!