Xamarin 2.3.3.193 和 ItemTemplate
Xamarin 2.3.3.193 and ItemTemplate
我已经在我的 Xamarin 项目中更新了 Xamarin Forms。现在这段代码不再有效了。
var view = (View)ItemTemplate.CreateContent();
if (view != null) {
var bindableObject = view as BindableObject;
if (bindableObject != null)
bindableObject.BindingContext = newItem;
_imageStack.Children.Add(view);
}
问题是(View)ItemTemplate.CreateContent()
出错:
Message:
Can't resolve name on Element
Source: Xamarin.Forms.Xaml
Stack:
at Xamarin.Forms.Xaml.ReferenceExtension.ProvideValue
(System.IServiceProvider serviceProvider) [0x000b6] in
[...]
在调试window中我可以看到以下信息
02-20 17:44:04.450 I/art (13331): Starting a blocking GC Explicit
02-20 17:44:04.482 I/art (13331): Explicit concurrent mark sweep GC freed 436(24KB) AllocSpace objects, 0(0B) LOS objects, 21% free, 14MB/18MB, paused 762us total 31.310ms
02-20 17:44:04.482 I/System (13331): FinalizerDaemon: finalize objects = 48
02-20 17:44:04.484 D/Mono (13331): GC_TAR_BRIDGE bridges 20 objects 20 opaque 0 colors 20 colors-bridged 20 colors-visible 20 xref 0 cache-hit 0 cache-semihit 0 cache-miss 0 setup 0.11ms tarjan 0.06ms scc-setup 0.08ms gather-xref 0.00ms xref-setup 0.00ms cleanup 0.30ms
02-20 17:44:04.484 D/Mono (13331): GC_BRIDGE: Complete, was running for 34.10ms
02-20 17:44:04.484 D/Mono (13331): GC_MINOR: (Nursery full) time 4.22ms, stw 4.53ms promoted 32K major size: 3504K in use: 2748K los size: 6404K in use: 5406K
我的函数以 ImageSource
格式将相机中的图像保存在内存中,byte[]
和该图像的 length in byte
。
这表示您正在加载的 XAML
包含 {x:Reference foo}
标记扩展,并且在运行时,在层次结构中找不到使用 x:Name="foo"
定义的元素。
在没有看到您的 XAML
的情况下,无法判断问题是出在您的代码中,还是 Xamarin.Forms
.
中的错误
我已经在我的 Xamarin 项目中更新了 Xamarin Forms。现在这段代码不再有效了。
var view = (View)ItemTemplate.CreateContent();
if (view != null) {
var bindableObject = view as BindableObject;
if (bindableObject != null)
bindableObject.BindingContext = newItem;
_imageStack.Children.Add(view);
}
问题是(View)ItemTemplate.CreateContent()
出错:
Message: Can't resolve name on Element
Source: Xamarin.Forms.Xaml
Stack: at Xamarin.Forms.Xaml.ReferenceExtension.ProvideValue (System.IServiceProvider serviceProvider) [0x000b6] in [...]
在调试window中我可以看到以下信息
02-20 17:44:04.450 I/art (13331): Starting a blocking GC Explicit
02-20 17:44:04.482 I/art (13331): Explicit concurrent mark sweep GC freed 436(24KB) AllocSpace objects, 0(0B) LOS objects, 21% free, 14MB/18MB, paused 762us total 31.310ms
02-20 17:44:04.482 I/System (13331): FinalizerDaemon: finalize objects = 48
02-20 17:44:04.484 D/Mono (13331): GC_TAR_BRIDGE bridges 20 objects 20 opaque 0 colors 20 colors-bridged 20 colors-visible 20 xref 0 cache-hit 0 cache-semihit 0 cache-miss 0 setup 0.11ms tarjan 0.06ms scc-setup 0.08ms gather-xref 0.00ms xref-setup 0.00ms cleanup 0.30ms
02-20 17:44:04.484 D/Mono (13331): GC_BRIDGE: Complete, was running for 34.10ms
02-20 17:44:04.484 D/Mono (13331): GC_MINOR: (Nursery full) time 4.22ms, stw 4.53ms promoted 32K major size: 3504K in use: 2748K los size: 6404K in use: 5406K
我的函数以 ImageSource
格式将相机中的图像保存在内存中,byte[]
和该图像的 length in byte
。
这表示您正在加载的 XAML
包含 {x:Reference foo}
标记扩展,并且在运行时,在层次结构中找不到使用 x:Name="foo"
定义的元素。
在没有看到您的 XAML
的情况下,无法判断问题是出在您的代码中,还是 Xamarin.Forms
.