<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>IScrollInfo tutorial part IV</title><link>http://blogs.msdn.com/bencon/archive/2006/12/09/iscrollinfo-tutorial-part-iv.aspx</link><description>After our last installment, which was written many moons ago (literally), the only remaining thing left to do (apart from clean up the code a bit) was to implement the IScrollInfo.MakeVisible method. Somebody has requested that I address this, so I am</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: IScrollInfo tutorial part IV</title><link>http://blogs.msdn.com/bencon/archive/2006/12/09/iscrollinfo-tutorial-part-iv.aspx#1318620</link><pubDate>Tue, 19 Dec 2006 00:36:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1318620</guid><dc:creator>Houman</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;This is a great series. &amp;nbsp;I really enjoyed going through it.&lt;/p&gt;
&lt;p&gt;How would I apply this to controls (such as ListView) that maintain thier own ScrollViewer? &amp;nbsp;Can I intercept the scrollViewer's events? &amp;nbsp;ListView doesn't expose events for LineDown, LineUp, etc.&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Houman&lt;/p&gt;</description></item><item><title>re: IScrollInfo tutorial part IV</title><link>http://blogs.msdn.com/bencon/archive/2006/12/09/iscrollinfo-tutorial-part-iv.aspx#1466799</link><pubDate>Mon, 15 Jan 2007 01:47:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1466799</guid><dc:creator>Ivolved</dc:creator><description>&lt;p&gt;I think this series is to help people implement their own controls that support IScrollInfo.&lt;/p&gt;</description></item><item><title>re: IScrollInfo tutorial part IV</title><link>http://blogs.msdn.com/bencon/archive/2006/12/09/iscrollinfo-tutorial-part-iv.aspx#5196347</link><pubDate>Sat, 29 Sep 2007 07:10:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5196347</guid><dc:creator>kyaw</dc:creator><description>&lt;p&gt;how come you don't link to previous post.&lt;/p&gt;</description></item><item><title>re: IScrollInfo tutorial part IV</title><link>http://blogs.msdn.com/bencon/archive/2006/12/09/iscrollinfo-tutorial-part-iv.aspx#5359098</link><pubDate>Mon, 08 Oct 2007 12:41:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5359098</guid><dc:creator>prasanthi surineni</dc:creator><description>&lt;P&gt;I have one Problem with ScrollViewer,&lt;/P&gt;
&lt;P&gt;i.e &lt;/P&gt;
&lt;P&gt;1.If Iam using a ScrollViewer inside a treeview say &amp;nbsp;t1 , if I &amp;nbsp;focus on scrollviewer and scroll the content , t1 content is scrolling fine,&lt;/P&gt;
&lt;P&gt;2. if I &amp;nbsp;scroll the content inside t1 &amp;nbsp;, t1 content is scrolling fine.&lt;/P&gt;
&lt;P&gt;But the &amp;nbsp;Problem Is :&lt;/P&gt;
&lt;P&gt;If I place the scrollviewer outside &amp;nbsp;of the treeview t1 , and if I scroll the content keeping the focus on the selected treeviewitem ,&lt;/P&gt;
&lt;P&gt;Now the Content is not scrolling ???&lt;/P&gt;
&lt;P&gt;I need your assistance in solving this problem ... &lt;/P&gt;</description></item><item><title>re: IScrollInfo tutorial part IV</title><link>http://blogs.msdn.com/bencon/archive/2006/12/09/iscrollinfo-tutorial-part-iv.aspx#5359168</link><pubDate>Mon, 08 Oct 2007 12:46:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5359168</guid><dc:creator>Prasanthi Surineni</dc:creator><description>&lt;p&gt;This is very helpful series ....&lt;/p&gt;
</description></item><item><title>re: IScrollInfo tutorial part IV</title><link>http://blogs.msdn.com/bencon/archive/2006/12/09/iscrollinfo-tutorial-part-iv.aspx#6819662</link><pubDate>Thu, 20 Dec 2007 21:36:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6819662</guid><dc:creator>xiard</dc:creator><description>&lt;P&gt;I'll add my kudos as well. &amp;nbsp;I'm working on a control that will require some custom scrolling across a host of subcontrols working in tandem, and this was a fantastic starting point.&lt;/P&gt;
&lt;P&gt;I'd also recommend looking at &lt;A href="http://www.wiredprairie.us/journal/2007/04/photoscroll_the_worst_named_wp.html" target=_new rel=nofollow&gt;http://www.wiredprairie.us/journal/2007/04/photoscroll_the_worst_named_wp.html&lt;/A&gt; for an example of an app that implements a custom scroll bar. &amp;nbsp;It contains some useful insights as well.&lt;/P&gt;
&lt;P&gt;Thanks!!&lt;/P&gt;
&lt;P&gt;David Cater&lt;/P&gt;</description></item><item><title>re: IScrollInfo tutorial part IV</title><link>http://blogs.msdn.com/bencon/archive/2006/12/09/iscrollinfo-tutorial-part-iv.aspx#8770012</link><pubDate>Thu, 24 Jul 2008 23:18:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8770012</guid><dc:creator>grominc</dc:creator><description>&lt;p&gt;Ben, thank you for this article, it is very helpful.&lt;/p&gt;
&lt;p&gt;But your code contains a bug. Please replace the SetVerticalOffset method to following:&lt;/p&gt;
&lt;p&gt;public void SetVerticalOffset(double offset)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp;_offset.Y = Math.Max(0, Math.Min(_extent.Height - _viewport.Height, Math.Max(0, offset)));&lt;/p&gt;
&lt;p&gt; &amp;nbsp;if (_owner != null) _owner.InvalidateScrollInfo();&lt;/p&gt;
&lt;p&gt; &amp;nbsp;_trans.Y = -_offset.Y;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
</description></item><item><title>re: IScrollInfo tutorial part IV</title><link>http://blogs.msdn.com/bencon/archive/2006/12/09/iscrollinfo-tutorial-part-iv.aspx#8770024</link><pubDate>Thu, 24 Jul 2008 23:22:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8770024</guid><dc:creator>grominc</dc:creator><description>&lt;p&gt;Oops! Correction for my previous feedback:&lt;/p&gt;
&lt;p&gt;public void SetVerticalOffset(double offset)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp;_offset.Y = Math.Max(0, Math.Min(_extent.Height - _viewport.Height, Math.Max(0, offset)));&lt;/p&gt;
&lt;p&gt; &amp;nbsp;if (_owner != null) _owner.InvalidateScrollInfo();&lt;/p&gt;
&lt;p&gt; &amp;nbsp;_trans.Y = -_offset.Y;&lt;/p&gt;
&lt;p&gt; &amp;nbsp;InvalidateMeasure();&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
</description></item></channel></rss>