2011-09-12 36 views
0

ScrollViewer上的觸摸滑動支持在windows7(也許是Vista)中本能地工作。但不是在XP中。在列表框上禁用觸摸滑動Windows 7

我想在windows XP中實現觸摸滑動。要做到這一點,我想實現一個將在XP和Vista上工作的自定義滑動。

我如何禁用ScrollViewer的原生滑動支持,我將要替換爲自定義滑動?

回答

1

ScrollViewer的PanningMode屬性將作用於該控件的觸摸事件的本機處理。

在這種特殊情況下,禁用列表框平移。

您將不得不創建ListBox樣式並重寫列表框的ControlTemplate以添加到嵌套的ScrollViewer的PanningMode =「PanningMode.None」屬性。

<Style TargetType="{x:Type ListBox}"> 
    <Setter Property="Template"> 
    <Setter.Value> 
     <ControlTemplate TargetType="{x:Type ListBox}"> 
... 
     <ScrollViewer PanningMode="PanningMode.None"/> 
     </ControlTemplate> 
    </Setter.Value> 
    </Setter> 
</Style> 
+0

解決了我的問題。只是一張紙條;此屬性僅在.NET 4及更高版本中可用。 – acron