Browse Source

Fix scrollviewer causing lockups.

Add a throttle to showing/hiding scrollbars to prevent them flashing on
and off.
pull/39/head
Steven Kirk 11 years ago
parent
commit
18e3900edc
  1. 4
      Perspex.Controls/ScrollViewer.cs
  2. 6
      Perspex.Diagnostics/DevTools.cs

4
Perspex.Controls/ScrollViewer.cs

@ -10,6 +10,7 @@ namespace Perspex.Controls
using System.Reactive.Linq;
using Perspex.Controls.Presenters;
using Perspex.Controls.Primitives;
using Perspex.Threading;
public class ScrollViewer : ContentControl
{
@ -62,7 +63,8 @@ namespace Perspex.Controls
var extentAndViewport = Observable.CombineLatest(
this.GetObservable(ExtentProperty),
this.GetObservable(ViewportProperty))
.Select(x => new { Extent = x[0], Viewport = x[1] });
.Select(x => new { Extent = x[0], Viewport = x[1] })
.Throttle(TimeSpan.FromMilliseconds(100), PerspexScheduler.Instance);
this.Bind(
VerticalScrollBarViewportSizeProperty,

6
Perspex.Diagnostics/DevTools.cs

@ -118,10 +118,8 @@ namespace Perspex.Diagnostics
{
Window window = new Window
{
// HACK: Set width and height here as a quick fix as there's a problem with
// the dev tools window hanging when it's set to auto-size.
Width = 800,
Height = 600,
Width = 1024,
Height = 512,
Content = new DevTools
{
Root = (Window)sender,

Loading…
Cancel
Save