如何将另一个dll中的页面添加到wpf中的窗口中

时间:2013-01-23 12:34:31

标签: wpf wpf-controls

我使用默认的MainWindow.xaml

创建了一个新的wpf应用程序

我创建了一个新页面:Page1.xaml,里面有一个按钮。

我想在页面中嵌入页面,所以我尝试了:

    <Window x:Class="WpfApplication1.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:WpfApplication1="clr-namespace:WpfApplication1" Title="MainWindow" Height="350" Width="525">
        <Grid>
            <WpfApplication1:Page1></WpfApplication1:Page1>
        </Grid>
    </Window>

然后我得到了一个例外。

我在这里搜索,并使用

获得另一种解决方案

所以我尝试了这个:

    <Window x:Class="WpfApplication1.MainWindow"
                xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:WpfApplication1="clr-namespace:WpfApplication1" Title="MainWindow" Height="350" Width="525">
        <Grid>
            <Frame Source="Page1.xaml"/>
        </Grid>
    </Window>

它有效。

但是

如果Page1.xaml不在当前项目中但在dll文件中会怎样?

1 个答案:

答案 0 :(得分:0)

从另一个程序集获取资源的常规模板是:Source="pack://application:,,,/YourAssembly;component/Subfolder/YourResourceFile.xaml"

MSDN

上查看一下