我只是将项目切换到mvvmlight并试图以"正确的方式"做事
我有一个带有列表框的简单应用程序
当在列表框中选择一个项目时,我已经连接了一个RelayCommand
此RelayCommand导致对INavigationService(http://geekswithblogs.net/lbugnion/archive/2011/01/06/navigation-in-a-wp7-application-with-mvvm-light.aspx)的调用,该调用导航到URL比如"/DetailPage.xaml?DetailId=12"
然后加载DetailPage.xaml并且......这是我有点不确定的地方......
请随时给我一个完整的样本 - 确保这已经完成了一百次,但是所有的博客和教程似乎都在跳过这个最后的琐碎细节(而是集中在消息传递和on on on on on导航服务)
谢谢!
我已多次使用本教程:http://www.alexyork.net/blog/2011/07/18/creating-custom-uitableviewcells-with-monotouch-the-correct-way/
但是其中有一段代码我不太了解:
cell = new MyCustomCell();
var views = NSBundle.MainBundle.LoadNib("MyCustomCell", cell, null);
cell = Runtime.GetNSObject( views.ValueAt(0) ) as MyCustomCell;
Run Code Online (Sandbox Code Playgroud)
我试图删除它 - 将LoadNib放置在构造函数中 - 但是出口错误导致插件没有正确连接.
任何人都可以了解这里发生的事情吗?为什么我不能只在构造函数中加载这个Nib文件?为什么有必要实际创建两个单元实例?背景中实际发生了什么?代码可以改进吗?
有兴趣了解这一点,因为我经常这样做,我很乐意让这个过程更清洁
斯图尔特
如果它有帮助,一个示例单元格是:https://github.com/slodge/MvvmCrossConference/blob/master/Cirrious.Conference.UI.Touch/Cells/SessionCell2.cs
我正在为芒果安排一个预定的后台代理(7.1)
我已经设法使用手动跟踪技术将内存使用率从10.5MB降低到6.5MB,DeviceStatus.ApplicationPeakMemoryUsage
同时还有一些关于优化内容的智能猜测.
但是,现在我需要降到6MB以下 - 最后的0.5MB是难以捉摸的.
我已经设法在主应用程序上运行" Windows Phone性能分析 "工具,但似乎找不到让它与代理运行的方法.
是否有任何工具和/或技术可以帮助我解决填补我代理人记忆的问题?理想情况下,我想要一种方法来调查整个内存空间 - 包括代码和数据,理想情况下它应该适用于发布版本.
我试图在Android上实现类似于iOS的分组列表视图.因此,我正在尝试编写自己的自定义MvxAdapter,它支持分组的节标题.从axml构造的默认MvxListView将创建默认的MvxAdapter.由于我需要提供自己的自定义MvxAdapter,我需要以编程方式创建MvxListview,以便我可以传入自己的适配器.我遇到的问题是在OnCreate
我的android视图中我尝试构建自定义MvxAdapter时,Android绑定上下文为null
MvxAndroidBindingContextHelpers.Current()
Run Code Online (Sandbox Code Playgroud)
是否有使用v3 API自定义MvxAdapter以编程方式构造MvxListView的示例?
我最近使用CodePlex的3.7迁移向导将几个SQL 2008数据库迁移到Azure.
完成迁移后,一切运行良好,除了我没有管理工作室中的所有"正常"右键菜单项 - 例如我没有"设计","选择前1000名"等
我认为缺少这些项目的原因是因为登录用户(我的SQL Azure管理员)不是迁移数据库的用户 - 或者可能是其他东西?如果我只是在SQL Azure中创建一个数据库和一个表,那么我似乎确实有这些菜单.
有没有办法在迁移的数据库上重新获得这些右键单击菜单项?
我想从ViewModels中获取所有本地化文本(因为它通常是动态的),我想知道如何使用转换器从用于本地化的json文件中获取文本.例如,在下面的代码中,我希望LocalisedString使用我目前在我的视图中用于静态文本绑定的转换器 -
public string MyText // used in the binding in the View
{
get
{
string exclamation;
if (MyValue <= 3.3)
{
exclamation = LocalisedString("Rubbish!");
}
else if (OverallScore > 3.3 && OverallScore <= 6.6)
{
exclamation = LocalisedString("Good!");
}
else
{
exclamation = LocalisedString("Excellent!");
}
return exclamation;
}
}
Run Code Online (Sandbox Code Playgroud)
目前正在使用MvvmCross的第1版.
任何帮助非常感谢.
localization xamarin.ios xamarin.android mvvmcross windows-phone-8
我想使用Mvvmcross为多个平台开发应用程序.
我将Profile 104用于PCL库,如Mvvmcross,但此配置文件的目标是.NET 4.5.我想以.NET 4.0为目标,在Windows XP上使用我的应用程序.
为此,我添加了xml文件
MonoAndroid,版本= v1.6 +.XML
和
VSMonoTouch,版本= v1.0 +.XML
在配置文件143中允许我定位.NET框架4.0.3.
但是,我有一个编译错误,因为它找不到ICommand接口.此接口不在版本4.0和4.5之间的同一个库中,它是不起作用的原因?或者我应该使用配置文件143重新编译所有Mvvmcross库?
谢谢,
在Xamarin跨平台应用程序开发中调整MVVMCross框架,我们有PCL(包含模型和视图模型)和View(对于每个平台),如此处所示.
a)Xamarin.mobile(用于获取单一API访问集)驻留在哪里?我想在PCL里面.但是,我看到Xamarin.mobile的不同二进制文件(例如:Android和IOS),我们是否将所有Xamarin.mobile库放在PCL中?它们都有相同的名字,不会有任何冲突吗?
b)我们在哪里保留访问蓝牙等代码(在Xamarin.mobile中不可用)?使用MVVMCross解耦视图和业务逻辑,所以在事件发生后(btn点击)创建视图项的所有代码都驻留在视图中?
c)我们在哪里可以使用适应MVVMCross的条件编译?我想在模型中,但它是否仅用于文件访问,还是可以用于根据目标平台显示查看项目(Android上的Toast消息),将其放在PCL上?
(如果不恰当的借口,只是收集了MVVMCross和Xamarin.mobile的一些信息,并考虑到了一些推理/困惑)
谢谢!
此致,Saurav
mvvm portable-class-library mvvmcross xamarin xamarin.mobile
我有一个看起来像这样的对象结构。
public class Model : MvxViewModel
{
private IDictionary<string, string> _properties;
public IDictionary<string, string> Properties
{
get { return _properties; }
}
public string this[string key]
{
get { return Get(key); }
set { Set(key, value); ;}
}
public Model()
{
this._properties = new Dictionary<string, string>();
}
public void Set(string propertyName, string value)
{
if (!_properties.ContainsKey(propertyName))
{
_properties[propertyName].Value = value;
}
}
public string Get(string propertyName)
{
return _properties[propertyName];
}
}
Run Code Online (Sandbox Code Playgroud)
我需要使用 Fluent API 将此对象的信息绑定到控件。我的控件是在代码中创建的。
代码如下所示:
protected override void OnCreate(Bundle …
Run Code Online (Sandbox Code Playgroud) 我正在尝试在TwoWay模式下绑定MvxBindableListView,以便在ViewModel中设置它的值时通过Buttons的Click命令在View中更新.目前它只在布局在start/tabchange完全加载时更新...
该视图模型是:
public List<MyType> TestList
{
get { return _testList; }
set
{
_testList = value;
FirePropertyChanged("TestList");
}
}
Run Code Online (Sandbox Code Playgroud)
View中的.axml 是:
<Mvx.MvxBindableListView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
local:MvxBind="{'ItemsSource':{'Path':'TestList','Mode':'TwoWay'}}"
local:MvxItemTemplate="@layout/my_item_layout" />
Run Code Online (Sandbox Code Playgroud) android mvvm inotifycollectionchanged xamarin.android mvvmcross
我试图在N + 1天的MvvmCross中运行第6课,但无法使SimpleRestService工作.
05-22 16:14:38.156 I/MVX(2849):40.20问题类型MapViewModel的创建视图模型 - 问题MvxException:无法创建MyApp.Core.Services.SimpleRestService当解析参数参数jsonConverter类型IMvxJsonConverter的
Cirrious.CrossCore.Exceptions.MvxException:无法加载视图模型为型MyApp.Core.ViewModels.MyViewModel从定位器MvxDefaultViewModelLocator
SimpleRestService.cs与教程的相同,除了命名空间,接口也是如此.
namespace MyApp.Core.Services
{
public class SimpleRestService
: ISimpleRestService
{
private readonly IMvxJsonConverter _jsonConverter;
public SimpleRestService(IMvxJsonConverter jsonConverter)
{
_jsonConverter = jsonConverter;
}
public void MakeRequest...
private void MakeRequest...
private T Deserialize<T>(string responseBody)
{
var toReturn = _jsonConverter.DeserializeObject<T>(responseBody);
return toReturn;
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
mvvmcross ×7
mvvm ×4
xamarin ×4
android ×2
xamarin.ios ×2
azure ×1
fluent ×1
json ×1
localization ×1
mvvm-light ×1
nib ×1
ssms ×1
uitableview ×1