小编Sve*_*übe的帖子

带参数的MvvMCross bind命令(在C#代码中)

如何通过指定命令参数将命令绑定到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)?

parameters binding command xamarin.ios mvvmcross

5
推荐指数
1
解决办法
1万
查看次数

TableView ContentInset 不会缩小单元格宽度/向 TableView 内容添加水平填充

我想要一个UITableView全屏的。但是内容的左右UITableView应该有填充。

所以我试图设置ContentInset. 但是现在单元格UITableView和 和UITableView水平滚动一样宽。

有没有办法说UITableView内容的宽度应该被水平内容插入变窄?或者我是否必须将填充添加到所有单元格和页眉/页脚视图?

我不想缩小表格视图本身,因为滚动指示器应该留在屏幕的右侧而不是中间。这里(如何以分组样式在 UITableView 中设置单元格的宽度)建议的解决方案似乎不像我想要的那样通用,因为单元格以及页眉和页脚视图必须了解填充(至少需要维护 3 个地方而不是一个)

objective-c padding uitableview ios ios7

5
推荐指数
1
解决办法
3205
查看次数

Xamarin.IOS.代码分析 - CA2123

我有Microsoft Extended Correctness Rules我的Xamarin.IOS项目规则集.当我分析时,我遇到了很多麻烦:

  1. CA2123:添加以下安全属性以匹配onbase方法:.BooleanNegationConverter.Convert(object, Type, object, CultureInfo)LinkDemandIMvxValueConverter.Convert(object, Type, object, CultureInfo)SecurityCriticalAttribute

为什么我需要设置安全属性?为了什么?或者我必须这样做吗?

  1. CA2134:透明或安全的关键方法.get()是覆盖[simple self interface].get()违反方法覆盖规则的关键方法..get()必须成为安全关键,以覆盖关键虚拟方法或实现关键接口方法.

同样......我如何为IOS项目修复它?为什么我有这个问题.

谢谢!

c# mono code-access-security xamarin.ios xamarin

5
推荐指数
1
解决办法
583
查看次数

如何在Xamarin中为NSDictionary &lt;NSString,NSObject&gt;对象设置值?

我需要与接收NSDictionary<NSString, NSObject>Xamarin 中类型对象的函数进行接口。

首先,我不了解语法。NSDictionary<NSString, NSObject>类型对象到底是什么?我知道有NSDictionary类型,我知道如何创建一个并设置键和值,但是什么是NSDictionary<?,?>?是否应该是某种特殊的元组?

其次,如何创建这样的对象并定义键和关联的对象?

c# generics nsdictionary xamarin.ios xamarin

5
推荐指数
2
解决办法
4405
查看次数

如何使用快递作为代理?

如何创建充当代理的Express服务器?

要求:

  • http + https
  • 在公司代理后面工作
  • 为某些网址返回特殊内容的选项

我试过了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等)
  • 源请求的标头未传递
  • https不起作用

使用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)

javascript https proxy node.js express

5
推荐指数
1
解决办法
623
查看次数

MvvMCross导航回多个viewmodels/truncate导航堆栈

我有两个关于MvvMCross导航的问题.

  1. 如何返回导航堆栈上的视图模型?分别:如何返回指定数量的视图模型?
  2. 如何截断导航堆栈?

    例如: 堆栈上的A | B | C,导航到D使堆栈看起来像:D

navigation xamarin.ios ios mvvmcross xamarin

4
推荐指数
2
解决办法
5870
查看次数

用于测试调用异步方法的ICommand的模式

我只是在寻找最佳实践单元测试(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和异步方法时是否有最佳实践?

c# unit-testing icommand async-await mvvmcross

3
推荐指数
1
解决办法
1330
查看次数

为什么Xamarin.Forms WebView会增加Android应用存储数据的大小?

我有一个使用功能的Xamarin.Forms应用程序WebView.它打开一个简单的网页.

每当我打开其中的网页时,应用的存储数据大小就会增加.我在Android /设置/应用信息/存储上查看它.我的应用程序大小约为15 MB,但打开一些页面后,它会达到50 MB,依此类推.它在做什么?缓存?要么...?我该如何禁用它?

android webview xamarin xamarin.forms

2
推荐指数
1
解决办法
1502
查看次数

Xamarin Forms DataTrigger导致NullReferenceException

我试图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在上面的示例中注释掉,应用程序正常运行,但当然,触发器不起作用.

任何人都可以建议我做错了什么?

datatrigger xamarin.android xamarin xamarin.forms

2
推荐指数
1
解决办法
372
查看次数

使用esScript-promise与TypeScript 2.1 ES5 Webpack(async/await)

我尝试使用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)

promise ecmascript-5 async-await typescript webpack

2
推荐指数
1
解决办法
3185
查看次数

CallygraphyXamarin无法在MvxAppCompatActivity中工作

我已经尝试了几个小时来在我的MvvmCross项目中使用自定义字体,特别是Android平台.我成功安装了该组件并按照上述步骤操作:https: //components.xamarin.com/gettingstarted/calligraphyxamarin

它只是不想工作.

我在一项活动上测试了它,而不是从它继承Activity,AppCompatActivity它们都正常工作.好像从MvxAppCompatActivity休息中继承了吗?这个问题有什么解决办法?

xamarin.android mvvmcross xamarin

2
推荐指数
1
解决办法
371
查看次数

Azure App Insights 显示空间消耗指标

我收到警报,指出我的每日 1GB 限制应用洞察数据量已超出。如何确定哪些条目占用的空间最多?

下面的图表app insights -> Usage and estimated costs向我展示了一个摘要,但我无法向下钻取。

我找不到给我大小的日志/跟踪条目的任何属性。

  • 有没有?
  • “度量”类别中累积了哪些条目?
  • 我能以某种方式获得生成此图表的查询吗?

数据量趋势

azure azure-application-insights

1
推荐指数
1
解决办法
185
查看次数

在MVVMCross中显示NULL的值

我有以下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)

c# data-binding xamarin.android mvvmcross xamarin

0
推荐指数
1
解决办法
745
查看次数