我在VC2013中开发了一个c#Windows Phone 8.1应用程序,偶然发现了一个奇怪的问题。
为了使我的代码更加清晰,我决定将我的应用程序的不同部分放入不同的文件夹中。在c#代码中从这些文件夹调用XAML页面没有问题。
但是我似乎在XAML代码本身中链接这些文件夹时遇到问题。例如,我有以下结构:
root, Files: App.cs+xaml, Mainpage.cs+xaml
|
-- Folder: Login
|
-- Files: LoginPage.cs+xaml
-- Folder: Converters
|
-- Files: converterClass.cs
要像我一样使用IValueConverter
中的converterClass.cs
,我将以下内容放入我的XAML文件的标题中:
<Page
x:Class="myApp.Login.LoginPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:meinStundenplaner.Login"
xmlns:myConverter="using:myApp.Converters"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Page.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="../Styles/standardStyles.xaml"/>
</ResourceDictionary.MergedDictionaries>
<myConverter:DateTimeConverter x:Key="DateTimeConverter" />
... some more converters
</ResourceDictionary>
</Page.Resources>
...
现在它发生了,如果我输入<myConverter:
,自动完成确实会找到我的转换器类,但是在编译时(它正在编译)并在设备上进行测试时,没有任何转换器正常工作,而且我也遇到错误错误列表说
The name 'DateTimeConverter' in namespace 'using:myApp.Converters' does not exist.
我哪里出错了?
答案 0 :(得分:1)
我一直很好奇,为什么它会编译和部署,即使它引发了很多错误。问题似乎不一致。
解决方案与预期不同:
您必须将Solution Platforms
设置为x86
而不是ARM
(我需要在设备上部署)。幸运的是,VS2015有一个方便的快捷方式,你可以对VS2013说些什么。
然而它已经解决了......