0

私はこのxamlコードを持っています:

<Common:LayoutAwarePage.Resources>
   <CollectionViewSource x:Name="cvs" IsSourceGrouped="true" />
</Common:LayoutAwarePage.Resources>
<Grid>
    <Full:TestSnapPage Name="MainView" />     
    ... 

UserControl の分離コード内から、CollectionViewSource にアクセスするにはどうすればよいですか?

4

1 に答える 1

2
  1. タグにバインドcollectionviewsourceし、コード ビハインドからアクセスする

    < Full:TestSnapPage Name="MainView" Tag="{Binding Source={StaticResource cvs}}"/>
    
  2. 親ページに移動し、コード ビハインドのリソースにアクセスします

            var parentPage = GetParentsPage(this); 
            if (parentPage != null)
            {
               //parentPage.Resources["cvs"]
            }
    
            private ParentPage GetParentsPage(FrameworkElement @this)
            { 
                FrameworkElement temp = @this;
                while (temp.Parent != null)
                {
    
                    if (temp.Parent is ParentPage)
                        return temp.Parent as ParentPage;
    
                    temp = temp.Parent as FrameworkElement;
                }
                return null;
            }
    
  3. ビュー間 (またはビュー モデル間) の通信にはMVVMLightフレームワークを使用します。

于 2012-07-09T04:27:25.073 に答える