我的同胞WPF弟子
昨天我思考解决的XAML文件路径。
,不似乎是一个简单的方法来找到一个XAML文件的URI。内部,产生g.cs使用的路径,以下摘录所示:public void InitializeComponent()
{
if (_contentLoaded)
{
return;
}
_contentLoaded = true;
System.Uri resourceLocater = new System.Uri("/PageCollection;component/pages/page1.xaml", System.UriKind.Relative);
#line 1 "..\..\..\Pages\Page1.xaml"
System.Windows.Application.LoadComponent(this, resourceLocater);
#line default
#line hidden
}
但是,怎样才能得到我们的双手就可以了吗?我所做的是将其纳入{A2}生成的XAML资源包的URI。
要证明我已经创建了一个虚拟的UserControl在示例应用程序中的一个子文件夹。
{S0}
图图:假的UserControl生成一包的URI
T4模板的输出结果,使我们能够确定在一个安全的方式到XAML文件的路径。下面的摘选显示生成的包URI:{C}
现在我们有了这个,我们可以这样写:Uri uri = new Uri(CSharpDesktopClrDemo.XamlMetadata.Folder1.Folder2.Metadata
.UserControl1XamlMetadata.XamlPackUri, UriKind.Relative);
var control = System.Windows.Application.LoadComponent(uri)
as DanielVaughan.MetaGen.Demo.Folder1.Folder2.UserControl1;
更神奇的字符串组的URI!
下载的模板和示例应用程序:{A3}