我最近安装了 Visual Studio 2012 RC 以及 VS 2012 SDK 和 LightSwitch Extensibility Toolkit。
这是我的 Client.Design -> TControl.XAML 文件中的 XAML 代码
<UserControl x:Class="CustomControls.Presentation.Controls.TControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:framework="clr-namespace:Microsoft.LightSwitch.Presentation.Framework;assembly=Microsoft.LightSwitch.Client">
<Grid Width="Auto">
<Grid.RowDefinitions>
<RowDefinition Height="100"></RowDefinition>
<RowDefinition Height="40"></RowDefinition>
</Grid.RowDefinitions>
<framework:ContentItemPresenter ContentItem="{Binding ChildItems[0]}" Grid.Row="0" Margin="3" />
<framework:ContentItemPresenter ContentItem="{Binding ChildItems[1]}" Grid.Row="0" Margin="3" />
</Grid>
</UserControl>
我在设计器上看不到此 XAML 的输出。相反,我在设计器区域看到此错误消息:
Exception: Error HRESULT E_FAIL has been returned from a call to a COM component.
Stacktrace:
at MS.Internal.XcpImports.CheckHResult(UInt32 hr)
at MS.Internal.XcpImports.Collection_InsertValue[T](PresentationFrameworkCollection`1 collection, UInt32 index, CValue value)
at MS.Internal.XcpImports.Collection_InsertDependencyObject[T](PresentationFrameworkCollection`1 collection, UInt32 index, DependencyObject value)
at System.Windows.PresentationFrameworkCollection`1.InsertDependencyObject(Int32 index, DependencyObject value)
at System.Windows.Controls.UIElementCollection.InsertInternal(Int32 index, UIElement value)
我强烈怀疑这与此处涉及的命名空间和 Silverlight 版本有关。我的项目设置为使用 Silverlight 版本 5。
快速谷歌搜索和“Stackoverflowing”确实揭示了有关此错误的一些一般信息,但没有太大帮助。
任何帮助将不胜感激。