WinRT中的組合框具有CarouselPanel類型的默認ItemsPanel。這使得Windows 8.1應用程序在滾動組合框項目時出現「無限循環」。 如果你不想要這種行爲,有很多博客文章解釋如何「修復它」。WinRT中組合框的奇怪行爲
例如這樣:Cancel WinRT ComboBox infinte scroll effect 或:http://netitude.bc3tech.net/2013/04/12/windows-8s-combobox-and-the-carouselpanel/
這種解決方案的問題是,你會得到在組合框中的第一個項目一個怪異的行爲。 如何重現:
- 創建一個新的空白的Windows 8.1程序
在MainPage.xaml中放:
<TimePicker Time="0" HorizontalAlignment="Center" VerticalAlignment="Center"/>
創建這樣一個style.xaml資源字典:
<Style TargetType="ComboBox"> <Style.Setters> <Setter Property="ItemsPanel"> <Setter.Value> <ItemsPanelTemplate> <StackPanel Orientation="Vertical"/> </ItemsPanelTemplate> </Setter.Value> </Setter> </Style.Setters> </Style>
現在啓動應用程序,從列表中選擇一個項目(例如'05'分鐘),然後在同一個下拉列表中選擇第一個項目(例如'00'分鐘)。下拉控件中的文本現在將消失。
任何人都知道如何解決這個問題?如果我將組合框項目面板的樣式改回到CarouselPanel,它就可以工作(但當然會有無限循環)。
我遇到完全相同的問題。你有沒有設法解決這個問題? – pantonis