【问题标题】:XAML: Using Semantic Zoom and ListView MakeVisible doesn't scrollXAML:使用语义缩放和 ListView MakeVisible 不会滚动
【发布时间】:2012-11-15 08:47:45
【问题描述】:

我在语义缩放控件中嵌入了一个 ListView 控件:

<SemanticZoom x:Name="diarySemanticZoom" Grid.Row="1">
            <SemanticZoom.ZoomedOutView>
                <GridView>
                    ...
                </GridView>
            </SemanticZoom.ZoomedOutView>
            <SemanticZoom.ZoomedInView>
                    <ListView 
                        x:Name="diaryListView" 
                        AutomationProperties.AutomationId="diaryListView"
                        AutomationProperties.Name="Grouped Items"
                        Grid.Row="1" 
                        ItemsSource="{Binding Source={StaticResource itemsViewSource}}"
                        SelectionMode="Single" 
                        ScrollViewer.IsHorizontalScrollChainingEnabled="False"
                        ScrollViewer.IsVerticalScrollChainingEnabled="False"
                        ScrollViewer.HorizontalScrollBarVisibility="Visible"
                        >
                        <ListView.ItemsPanel>
                            <ItemsPanelTemplate>
                                <WrapGrid Orientation="Vertical" 
                                MaximumRowsOrColumns="1" x:Name="insideWrapGrid"/>
                        </ItemsPanelTemplate> ...

当 XAML 加载时,我想滚动到 Listview 中的一个项目

protected override void LoadState(Object navigationParameter, 
                     Dictionary<String, Object> pageState)
{
    var diaryDaysModel = DiaryDays.DiaryDayList;
    /* Group the days */
    var daysViewModelGroup = from ddm in diaryDaysModel
                             group ddm by new { ddm.MonthName, ddm.DayNo } into grp
                             orderby grp.Key.DayNo
                             select new { Key = grp.Key, Items = grp };

    itemsViewSource.Source = daysViewModelGroup;
    diaryListView.SelectedIndex = 5;
    var zoomLoc = new SemanticZoomLocation() { Item = diaryListView.SelectedItem };
    diarySemanticZoom.ZoomedInView.MakeVisible(zoomLoc);
    diaryListView.MakeVisible(zoomLoc);

}

到目前为止,我已经尝试了很多选项,但似乎没有一个可以移动滚动

【问题讨论】:

    标签: listview window microsoft-metro winrt-xaml semantic-zoom


    【解决方案1】:

    您应该可以滚动。 如果要垂直滚动,请编辑 ScrollViewer.IsVerticalScrollBarEnabled="Enabled"。

    【讨论】:

      猜你喜欢
      • 2018-01-11
      • 2020-05-15
      • 1970-01-01
      • 2018-05-08
      • 2018-02-22
      • 2011-02-14
      • 2016-07-15
      • 2016-11-29
      • 1970-01-01
      相关资源
      最近更新 更多