【发布时间】:2013-03-11 16:38:59
【问题描述】:
我正在尝试为 Windows 应用商店应用程序开发一些自定义控件(我实际上是在使用 Templated Control 来执行此操作)。我遇到了一个相当模糊的错误(如标题所示)。唯一的附加信息是:
WinRT information: Cannot create instance of type 'SoundControls.tcNote' [Line: 13 Position: 51]
我不确定问题出在定义控件布局的 Generic.xaml 文件(我认为错误似乎指向)还是文件背后的代码。
不管怎样,这里都是第 13 行:
Generic.xaml
BorderBrush="{TemplateBinding BorderBrush}"
背后的代码
using Windows.UI.Xaml.Controls.Primitives;
两者似乎都毫无意义和无害。有没有人知道如何更仔细地解决这个错误?我愿意发布代码 sn-ps 等(如相关/请求),但我总是讨厌看到一个问题,只看到几页代码。
编辑:
按要求构造函数:
this.DefaultStyleKey = typeof(tcNote);
(GetTemplateChild("PART_note") as Thumb).DragStarted += tcNote_DragStarted;
(GetTemplateChild("PART_note") as Thumb).DragDelta += tcNote_DragDelta;
(GetTemplateChild("PART_note") as Thumb).DragCompleted += tcNote_DragCompleted;
第二次编辑/解决方案:
我发现第 13 行问题在 MainPage.xaml 中。
<SoundControls:tcNote HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" />
该行看起来有错误(蓝色下划线,但它仍然让我构建),如果我将鼠标悬停在它上面,它会显示“委托给实例方法不能有 null 'this'”。问题似乎是 *PART_note* 尚不可用。我需要将构造函数中的这些行移到 OnApplyTemplate 方法中。
【问题讨论】:
-
第 13 行第 51 位的代码是什么? 'SoundControls.tcNote' 的构造函数是什么样的?
-
我编辑了问题
-
请不要编辑问题来添加答案。这不是其他人可以投票或将寻找它的地方。
标签: windows-8 visual-studio-2012 windows-runtime