2010-07-01 63 views
2

我有一個Windows Phone 7 Silverlight應用程序,它具有一個列表框,並且在項目模板內綁定另一個列表框。Listbox中的列表框和Windows Phone 7中的滾動麻煩Silverlight

<ListBox x:Name="CouponsGrouping"> 
    <ListBox.ItemTemplate> 
    <DataTemplate> 
     <StackPanel> 
     <TextBlock Text="Expires" /> 
     <ListBox ItemsSource="{Binding Coupons}" Margin="0,10,0,0"> 
      <ListBox.ItemTemplate> 
      <DataTemplate> 
       <StackPanel> 
       <HyperlinkButton Content="{Binding StoreName}" HorizontalAlignment="Left"/> 
       <TextBlock Text="{Binding CouponText}" Style="{StaticResource PhoneTextNormalStyle}" /> 
       <TextBlock Text="{Binding CouponType}" Style="{StaticResource PhoneTextNormalStyle}" /> 
       <Button Content="Press me" /> 
       </StackPanel> 
      </DataTemplate> 
      </ListBox.ItemTemplate> 
     </ListBox> 
     </StackPanel> 
    </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

當我嘗試從內部列表框中滾動(單擊並拖動)列表時,父列表框不會滾動。如果我通過點擊「過期」texbox滾動它滾動罰款。我怎樣才能做到這一點,當我滾動內部列表框的父列表框滾動而不是。

謝謝,提前。

+1

我不知道你的問題的答案,但你正在經歷的行爲對我來說是正確的。用戶體驗聽起來很可怕。特別是在觸摸屏手機上。你能否考慮針對你的問題採取不同的解決方案? – 2010-07-02 09:22:38

+0

是的,我可以考慮一個不同的解決方案,你有什麼建議? – 2010-07-03 00:32:20

+0

直線主細節佈置如何?您可以讓主列表顯示分組和相關計數,然後點擊進入詳細列表。 – 2010-07-03 05:46:45

回答

0

嘿喬納斯 - 坦帕的凱文,其實我只是看着這個同樣的問題。根據使用情況,我不認爲這真的是糟糕的用戶體驗。我做了什麼來解決這個問題,實際上是使用網格而不是堆棧面板作爲外部ListBox的數據模板。然後,我將嵌套ListBox放入外部DataTemplate後,我將一個帶有透明填充的Rectangle放入。你只需要確保你的Rectangle高而寬,足以掩蓋內部的ListBox。我的嵌套列表框只有2-3-4項,所以它不是一個問題。

有意義嗎?

1

在你的孩子列表框上添加ScrollViewer.VerticalScrollBarVisibility="Disabled"。這可以防止不希望的滾動行爲。

+0

這個解決方案非常簡單,實際上對我來說是非常有用的。謝謝@SuperIronBob! – kroonwijk 2012-02-13 22:02:19