0

在 MVVM 项目中使用SemanticZoom控件,我有两个ListView具有自定义样式和面板等的控件,因此它们水平显示,没有分组或不需要它。

我将两者都绑定到CollectionViewSource视图模型中的 a 。

当我在缩小视图中单击一个项目时,它不会将焦点放在放大视图中的该项目上。

我怎样才能做到这一点?

编辑

添加了 XAML 代码:

    <SemanticZoom>
        <SemanticZoom.ZoomedInView>
            <ListView
                Style="{StaticResource HorizontalListViewStyle}"
                SelectionMode="None"
                ScrollViewer.IsHorizontalScrollChainingEnabled="False"
                ItemsSource="{Binding BoardItems}" 
                ItemContainerStyle="{StaticResource ZoomedOutListViewItemContainerStyle}">
            </ListView>
        </SemanticZoom.ZoomedInView>
        <SemanticZoom.ZoomedOutView>
            <ListView x:Name="listView"
                Style="{StaticResource HorizontalListViewStyle}"
                SelectionMode="None"
                ScrollViewer.IsHorizontalScrollChainingEnabled="False"
                ItemsSource="{Binding BoardItems}"
                ItemContainerStyle="{StaticResource ZoomedOutListViewItemContainerStyle}">                    
            </ListView>
        </SemanticZoom.ZoomedOutView>
    </SemanticZoom>
4

2 回答 2

0

在页面的代码隐藏中(或使用附加属性),ViewChangeStarted使用以下代码处理事件:

    private void zoomyThingWoo_ViewChangeStarted(object sender, SemanticZoomViewChangedEventArgs e)
    {
        if (e.SourceItem.Item != null)
        {
            e.DestinationItem.Item = e.SourceItem.Item;
        }
    }

而已。该文档听起来好像SemanticZoom可以与任何两个实现 ISemanticZoomInfo 的控件一起使用,但事实并非如此。

我向雷德蒙德的 XAML 团队提出了一个文档错误。

于 2013-08-08T21:26:06.453 回答
0

为了正确滚动,您ZoomedInViewZoomedOutView需要都有。ScrollViewer.IsHorizontalScrollChainingEnabled="False"

于 2013-07-18T19:02:37.487 回答