在后面的代码中创建DataTemplate时出错
本文关键字:DataTemplate 出错 创建 代码 在后面 | 更新日期: 2023-09-27 18:06:58
我试图在代码后面创建一个DataTemplate:
StringReader stringReader = new StringReader(
@"<DataTemplate
xmlns=""http://schemas.microsoft.com/winfx/2006/xaml/presentation""
xmlns:local=""clr-namespace:Clarity.Demo.ListDragDrop;assembly=Clarity.Demo.ListDragDrop"">
<DataTemplate.Resources>
<local:PlayerAdorner x:Key=""adorner""/>
</DataTemplate.Resources>
<local:PlayerControl
Margin=""5""
local:DragDropHelper.AdornerLayer = ""adornLayer""
local:DragDropHelper.DragDropControl = ""{StaticResource adorner}""
local:DragDropHelper.DropTarget = ""lineup""
local:DragDropHelper.IsDragSource = ""true"" />
</DataTemplate > ");
XmlReader xmlReader = XmlReader.Create(stringReader);
DataTemplate laneTemplate = XamlReader.Load(xmlReader) as DataTemplate;
我得到一个XAML异常,说'x'是第5行中未声明的名称的空格。我猜x:Key=""adorner""
有问题,但很奇怪,因为如果不是在代码中创建这个,我复制它并粘贴在XAML上,它就可以工作了!
我不确定这是正确的做法。原始代码在窗口中有装饰器资源。资源,但是我不知道如何在代码中创建DataTemplate时访问它,所以我把它作为DataTemplate. resource .
有人对此有任何线索吗?
包含命名空间:
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"