c# – 从子程序集内读取父Silverlight项目的文件夹结构

我有一个自定义的Silverlight用户控件(它位于一个单独的DLL中,我们称之为usercontrol.dll),它构建了一个简单的3D页面翻书.我有一个引用此DLL的项目,该项目还有一个包含所有页面的文件夹Pages.页面标记为“page_1.xaml,page_2.xaml,…,page_n.xaml”.书中的页数是可变的.

我想在我的项目中使用自定义控件,如下所示:

<customControls:BookControl />

简短又甜蜜.为了使工作正常,我希望BookControl从其程序集中“伸出”到调用它的父项目,并通过“Pages”文件夹读取以自动将每个页面加载到书中.

我试图避免传递参数.如果DLL可以读取项目文件夹并创建页面列表,那么我将解决所有问题.

我现在的问题是我不知道如何调用父项目并阅读Pages文件夹.

如何从引用的DLL访问Silverlight项目的文件夹?

最佳答案 允许usercontrol从托管应用程序访问东西的最简单方法是在usercontrol上放置一个属性 – 这样应用程序“切换”用户控件所需的服务/信息,而不是假设知道应用程序的控件.

其中pages是页面列表

<customControls:BookControl Pages="{Binding pages}"/> 

或者目录名称,或者您真正需要的任何信息.

<customControls:BookControl PageDirectory="{Binding pageDirectory}"/> 
点赞