标签:ScrollViewer 进度条 ScrollChanged sv datagrid BindingFlags ex WPF null
页面代码
<Grid DockPanel.Dock="Left" Width="400"> <DataGrid Name="dgSource" VerticalScrollBarVisibility="Visible" EnableRowVirtualization="False" ScrollViewer.ScrollChanged="DgSource_ScrollChanged" > </DataGrid> </Grid> <Grid> <DataGrid Name="dgTo" VerticalScrollBarVisibility="Visible" EnableRowVirtualization="False" ScrollViewer.ScrollChanged="DgTo_ScrollChanged"> </DataGrid> </Grid>View Code
后端代码
1 private void DgTo_ScrollChanged(object sender, ScrollChangedEventArgs e) 2 { 3 ScrollChanged(dgTo, dgSource, e); 4 } 5 6 void ScrollChanged(DataGrid dg1, DataGrid dg2, ScrollChangedEventArgs e) 7 { 8 if (e.HorizontalChange != 0.0f) 9 { 10 ScrollViewer sv = null; 11 Type t = dg1.GetType(); 12 try 13 { 14 sv = t.InvokeMember("InternalScrollHost", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.GetProperty, null, dg2, null) as ScrollViewer; 15 sv.ScrollToHorizontalOffset(e.HorizontalOffset); 16 } 17 catch (Exception ex) 18 { 19 MessageBox.Show(ex.Message); 20 } 21 } 22 if (e.VerticalChange != 0.0f) 23 { 24 ScrollViewer sv = null; 25 Type t = dg1.GetType(); 26 try 27 { 28 sv = t.InvokeMember("InternalScrollHost", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.GetProperty, null, dg2, null) as ScrollViewer; 29 sv.ScrollToVerticalOffset(e.VerticalOffset); 30 } 31 catch (Exception ex) 32 { 33 MessageBox.Show(ex.Message); 34 } 35 } 36 37 } 38 39 private void DgSource_ScrollChanged(object sender, ScrollChangedEventArgs e) 40 { 41 ScrollChanged(dgSource, dgTo, e); 42 }View Code
标签:ScrollViewer,进度条,ScrollChanged,sv,datagrid,BindingFlags,ex,WPF,null 来源: https://www.cnblogs.com/cvol/p/10647793.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。