如何通过指定命令参数将命令绑定到MvvMCross(Xamarin.iOS)中的代码中的按钮?
// command definition
public MvxCommand SaveDealerDataCommand
{
get { return new MvxCommand<bool>(DoSaveDealerDataAction); }
}
public void DoSaveDealerDataAction(bool show)
{
//...
}
// binding
bindingset.Bind(saveButton).To(vm => vm.SaveDealerDataCommand);
Run Code Online (Sandbox Code Playgroud)
我在哪里可以指定将传递给命令的参数(true/false)?
我想要一个UITableView全屏的。但是内容的左右UITableView应该有填充。
所以我试图设置ContentInset. 但是现在单元格UITableView和 和UITableView水平滚动一样宽。
有没有办法说UITableView内容的宽度应该被水平内容插入变窄?或者我是否必须将填充添加到所有单元格和页眉/页脚视图?
我不想缩小表格视图本身,因为滚动指示器应该留在屏幕的右侧而不是中间。这里(如何以分组样式在 UITableView 中设置单元格的宽度)建议的解决方案似乎不像我想要的那样通用,因为单元格以及页眉和页脚视图必须了解填充(至少需要维护 3 个地方而不是一个)
我有Microsoft Extended Correctness Rules我的Xamarin.IOS项目规则集.当我分析时,我遇到了很多麻烦:
BooleanNegationConverter.Convert(object, Type, object, CultureInfo)LinkDemandIMvxValueConverter.Convert(object, Type, object, CultureInfo)SecurityCriticalAttribute为什么我需要设置安全属性?为了什么?或者我必须这样做吗?
.get()是覆盖[simple self interface].get()违反方法覆盖规则的关键方法..get()必须成为安全关键,以覆盖关键虚拟方法或实现关键接口方法.同样......我如何为IOS项目修复它?为什么我有这个问题.
谢谢!
我需要与接收NSDictionary<NSString, NSObject>Xamarin 中类型对象的函数进行接口。
首先,我不了解语法。NSDictionary<NSString, NSObject>类型对象到底是什么?我知道有NSDictionary类型,我知道如何创建一个并设置键和值,但是什么是NSDictionary<?,?>?是否应该是某种特殊的元组?
其次,如何创建这样的对象并定义键和关联的对象?
如何创建充当代理的Express服务器?
要求:
我试过了http-proxy, express-http-proxy, https-proxy-agent, request。我不知道如何正确使用它们。
使用要求
我得到的最好结果request。但是有一些问题。
var express = require('express'),
request = require('request'),
app = express();
var r = request.defaults({'proxy':'http://mycorporateproxy.com:8080'});
function apiProxy() {
return function (req, res, next) {
console.log(req.method);
r.get(req.url).pipe(res);
}
}
app.use(apiProxy());
app.listen(8080, function () {
'use strict';
console.log('Listening...');
});
Run Code Online (Sandbox Code Playgroud)
这种方法的问题:
get用于所有请求(HEAD,GET等)使用http代理
var express = require('express'),
httpProxy = require('http-proxy'),
app = express();
var proxy = httpProxy.createProxyServer({
});
function apiProxy() {
return function …Run Code Online (Sandbox Code Playgroud) 我有两个关于MvvMCross导航的问题.
如何截断导航堆栈?
例如: 堆栈上的A | B | C,导航到D使堆栈看起来像:D
我只是在寻找最佳实践单元测试(NUnit的)的ICommand并专门MvxCommand内实施MVVMCross
查看模型
public ICommand GetAuthorisationCommand
{
get { return new MvxCommand(
async () => await GetAuthorisationToken(),
() => !string.IsNullOrWhiteSpace(UserName) && !string.IsNullOrWhiteSpace(Password)); }
}
private async Task GetAuthorisationToken()
{
// ...Do something async
}
Run Code Online (Sandbox Code Playgroud)
单元测试
[Test]
public async Task DoLogonCommandTest()
{
//Arrange
ViewModel vm = new ViewModel(clubCache, authorisationCache, authorisationService);
//Act
await Task.Run(() => vm.GetAuthorisationToken.Execute(null));
//Assert
Assert.Greater(MockDispatcher.Requests.Count, 0);
}
Run Code Online (Sandbox Code Playgroud)
现在我遇到的问题是测试在没有等待异步操作的情况下逐渐消失,从ICommand调用异步方法感觉有些麻烦.
在单元测试这些ICommands和异步方法时是否有最佳实践?
我有一个使用功能的Xamarin.Forms应用程序WebView.它打开一个简单的网页.
每当我打开其中的网页时,应用的存储数据大小就会增加.我在Android /设置/应用信息/存储上查看它.我的应用程序大小约为15 MB,但打开一些页面后,它会达到50 MB,依此类推.它在做什么?缓存?要么...?我该如何禁用它?
我试图DataTrigger在Xamarin Forms页面的XAML中使用一个简单的元素:
<Frame BackgroundColor="Red" HorizontalOptions="Fill" VerticalOptions="FillAndExpand">
<Frame.Triggers>
<DataTrigger TargetType="Frame" Binding="{Binding IsValid}" Value="True">
<Setter Property="BackgroundColor" Value="{x:Static Color.Lime}" />
</DataTrigger>
</Frame.Triggers>
</Frame>
Run Code Online (Sandbox Code Playgroud)
此配置会使应用程序崩溃,实际上是NullReferenceException:
Java.Lang.NullPointerExceptionAttempt在空对象引用上调用虚方法'boolean android.graphics.Bitmap.isMutable()'
如果我Setter在上面的示例中注释掉,应用程序正常运行,但当然,触发器不起作用.
任何人都可以建议我做错了什么?
我尝试使用es6-promiseTypeScript 2.1.1定位ES5和webpack.
app.ts
import "es6-promise/auto";
export class Foo {
bar() : Promise<string>{
return Promise.resolve("baz");
}
}
Run Code Online (Sandbox Code Playgroud)
webpack.common.js
const path = require('path');
var webpack = require('webpack');
module.exports = {
entry: {
'app': './app.ts',
},
output: {
path: 'dist/ie',
filename: '[name].js'
},
resolve: {
extensions: ['', '.ts', '.js']
},
devtool: 'source-map',
module: {
loaders: [
{
test: /\.ts$/,
loaders: ['awesome-typescript-loader']
},
]
},
plugins: [
new webpack.ProvidePlugin({
Promise: 'imports?this=>global!exports?global.Promise!es6-promises'
}),
]
};
Run Code Online (Sandbox Code Playgroud)
的package.json
{
"name": "foo",
"ieArtifactName": "foo",
"version": "3.0.0-1", …Run Code Online (Sandbox Code Playgroud) 我已经尝试了几个小时来在我的MvvmCross项目中使用自定义字体,特别是Android平台.我成功安装了该组件并按照上述步骤操作:https: //components.xamarin.com/gettingstarted/calligraphyxamarin
它只是不想工作.
我在一项活动上测试了它,而不是从它继承Activity,AppCompatActivity它们都正常工作.好像从MvxAppCompatActivity休息中继承了吗?这个问题有什么解决办法?
我收到警报,指出我的每日 1GB 限制应用洞察数据量已超出。如何确定哪些条目占用的空间最多?
下面的图表app insights -> Usage and estimated costs向我展示了一个摘要,但我无法向下钻取。
我找不到给我大小的日志/跟踪条目的任何属性。
我有以下NullableConverter课程.但是当我运行我的应用程序时,它没有显示任何内容,TextView如果值为null,我怎么能显示0?有可能在axml吗?
public class NullableValueConverter : MvxValueConverter
{
public override object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value;
}
public override object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == null || string.IsNullOrEmpty(value.ToString()))
{
return null;
}
return value;
}
}
Run Code Online (Sandbox Code Playgroud)
在我看来:
local:MvxBind="Text Age,Converter=Nullable;"
Run Code Online (Sandbox Code Playgroud) xamarin ×7
mvvmcross ×5
c# ×4
xamarin.ios ×4
async-await ×2
ios ×2
android ×1
azure ×1
binding ×1
command ×1
data-binding ×1
datatrigger ×1
ecmascript-5 ×1
express ×1
generics ×1
https ×1
icommand ×1
ios7 ×1
javascript ×1
mono ×1
navigation ×1
node.js ×1
nsdictionary ×1
objective-c ×1
padding ×1
parameters ×1
promise ×1
proxy ×1
typescript ×1
uitableview ×1
unit-testing ×1
webpack ×1
webview ×1