在 ReactiveUI 中,我在某个时间点运行此代码:
const string template = "<DataTemplate xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' xmlns:routing='using:ReactiveUI.Routing'>" +
"<routing:ViewModelViewHost ViewModel=\"{Binding}\" VerticalContentAlignment=\"Stretch\" HorizontalContentAlignment=\"Stretch\" IsTabStop=\"False\" />" +
"</DataTemplate>";
var theTemplate = XamlReader.Load(template);
在其他平台上,这很好用(xmlns
声明当然不同),但在 {WinRT / Metro / Windows Store} 上,这会引发未指定错误:
WinRT information: The type 'ViewModelViewHost' was not found. [Line: 1 Position: 253]
扭曲
但是,如果您在页面上包含虚拟资源:
<Page.Resources>
<DataTemplate x:Name="Foo">
<routing:ViewModelViewHost ViewModel="{Binding}" />
</DataTemplate>
</Page.Resources>
......然后它的工作原理!是什么赋予了?