我創建了一個使用MVVMCross的應用程序,IOS和Android版本正在工作,但是當我嘗試「移植」到WP7時,下面的問題:methodAccessException當使用匿名對象(MVVMCross)在WP7上將ViewModel中的變量傳遞給ViewModel
throw methodAccessException.MvxWrap("Problem accessing object - most likely this is caused by an anonymous object being generated as Internal - please see http://stackoverflow.com/questions/8273399/anonymous-types-and-get-accessors-on-wp7-1");
正如答覆中提到我的其他問題,這個(在Android),你必須設置在AssemblyInfo.cs中對WP7的InternalsVisibleTo屬性。所以我做:
[assembly: InternalsVisibleTo("Cirrious.MvvmCross.WindowsPhone")]
但是這並沒有什麼差別。我使用以下代碼將兩個變量從我的BeckhoffViewModel發送到我的BeckhoffSensorViewModel。
BeckhoffViewModel:
public IMvxCommand BeckhoffSensor1
{
get
{
return new MvxRelayCommand(kvpSens1);
}
}
private void kvpSens1()
{
RequestNavigate<BeckhoffSensorViewModel>(new { VarType = "short", Variable = ".countertest" });
}
BeckhoffSensorViewModel:
public BeckhoffSensorViewModel(string VarType, string Variable)
{
_vartype = VarType;
_variable = Variable;
}
什麼我俯瞰?我還查看了異常中提到的另一個stackoverflow主題,但無法真正理解它。這就是爲什麼你需要行[assembly: InternalsVisibleTo("Cirrious.MvvmCross.WindowsPhone")]
你可以檢查AssemblyInfo.cs文件肯定被鏈接到項目中(而這是 -
我想我今天早上還沒有完全清醒。我將該屬性添加到UI中的AssemblyInfo.cs文件而不是Core(/ Library)。糾正這個錯誤後,它工作正常! – David 2012-04-19 12:18:04
我以前做過:) – Stuart 2012-04-19 13:34:58