Windows Community Toolkit从存储库中导出/回传MasterDetailsView

时间:2018-12-28 15:48:41

标签: c# xaml uwp master-detail windows-community-toolkit

v5.0.0中的

Windows Community Toolkit放弃了对创作者更新(15063)的支持。 现在,我想手动向后移植MasterDetailsView XAML Control

我已经在项目中包含了Windows Community Toolkit v5.0.0 MasterDetailsView XAML Control源代码中的以下文件:

如果我现在使用以下XAML代码创建一个:

xmlns:masterdetailsview1="using:ProjectName.Toolkit.MasterDetailsView"
<masterdetailsview1:MasterDetailsView x:Name="chats_mdv"
                                      Grid.Row="1"
                                      Background="Transparent"
                                      DetailsTemplate="{StaticResource DetailsTemplate}"
                                      ItemTemplate="{StaticResource MasterTemplate}"
                                      ItemsSource="{x:Bind ViewModel.CHATS_ACV}"
                                      MasterPaneBackground="{StaticResource AppBackgroundAcrylicElementBrush}"
                                      NoSelectionContentTemplate="{StaticResource NoSelectionTemplate}"
                                      SelectedItem="{x:Bind ViewModel.SelectedItem, Mode=TwoWay}"/>

以上代码的结果为MasterDetailsView XAML Control,没有任何行为。 我无法与之互动。它停留在仅主窗格模式下。 如果我单击任何主项目以查看它,它不会反应。

我必须在项目中包含哪些文件才能正常工作?

1 个答案:

答案 0 :(得分:2)

  

上面的代码结果是一个MasterDetailsView XAML控件,没有任何行为。我无法与之互动。它停留在仅主窗格模式下。如果我单击任何主项目以查看它,它不会反应。

我按照您的步骤制作了代码示例进行测试。我可以重现您的问题。问题在于,调用MasterDetalsView.xaml方法时找不到OnApplyTemplate()资源文件。

要解决此问题,请打开项目的App.xaml并在其中添加以下资源。

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/MasterDetailsView/MasterDetailsView.xaml"></ResourceDictionary>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

我的项目的目录结构如下:

enter image description here

您需要通过自己项目的目录结构来更改源。