Xamarin.Forms 在 XAML 中使用 ResourceDictionary 时应用程序挂起
Xamarin.Forms application hangs when using ResourceDictionary in XAML
我有 Xamarin.Forms 应用程序,我想在 ListView 上显示来自本地数据库的图像。图像以 Base64 编码存储,因此我需要使用对此 的回答中描述的转换器。我面临的问题是,如果我在 ContentPage.Resources 页面中的 ContentPage 标记之后包含 ContentPage.Resources 代码,当我尝试打开该页面时,应用程序将在我的 phone 上冻结。
资源码:
<ContentPage.Resources>
<ResourceDictionary>
<local:ConverterBase64ImageSource x:Key="CustomImageConverter" />
</ResourceDictionary>
</ContentPage.Resources>
我还在 ContentPage 标签内创建了本地标签:xmlns:local="clr-namespace:MyApp;assembly=MyApp"
我已经将 class ConvertedBase64ImageSource 添加到 Page.xaml.cs 文件中,转换器的代码是就像上面链接问题的 awnser 中提供的一样。
似乎 XAML 代码破坏了我的应用程序中的某些内容,但我没有收到任何错误,只是应用程序变得没有响应并且不会打开该页面而是显示 OS 消息强制关闭应用程序。我是 运行 调试模式下 VS2015 中的应用程序,并且该页面上的 OnAppearing() 方法从未达到我的断点。
我应该在其他地方插入 ContentPage.Resources 代码还是我遗漏了什么?
我正在使用 Xamarin 版本 4.5.0.486
请仔细检查 ConverterBase64ImageSource
class 是否确实在 MyApp
命名空间中?例如不是MyApp.Converters
,那就不行了。
它不应该挂起,但给你一个错误,但谁知道呢!
我有 Xamarin.Forms 应用程序,我想在 ListView 上显示来自本地数据库的图像。图像以 Base64 编码存储,因此我需要使用对此
资源码:
<ContentPage.Resources>
<ResourceDictionary>
<local:ConverterBase64ImageSource x:Key="CustomImageConverter" />
</ResourceDictionary>
</ContentPage.Resources>
我还在 ContentPage 标签内创建了本地标签:xmlns:local="clr-namespace:MyApp;assembly=MyApp"
我已经将 class ConvertedBase64ImageSource 添加到 Page.xaml.cs 文件中,转换器的代码是就像上面链接问题的 awnser 中提供的一样。
似乎 XAML 代码破坏了我的应用程序中的某些内容,但我没有收到任何错误,只是应用程序变得没有响应并且不会打开该页面而是显示 OS 消息强制关闭应用程序。我是 运行 调试模式下 VS2015 中的应用程序,并且该页面上的 OnAppearing() 方法从未达到我的断点。
我应该在其他地方插入 ContentPage.Resources 代码还是我遗漏了什么?
我正在使用 Xamarin 版本 4.5.0.486
请仔细检查 ConverterBase64ImageSource
class 是否确实在 MyApp
命名空间中?例如不是MyApp.Converters
,那就不行了。
它不应该挂起,但给你一个错误,但谁知道呢!