如何在VS Xamarin中将.droid中的变量调用到.shared项目?

时间:2017-09-18 04:03:15

标签: c# visual-studio xamarin.forms

这可能是一个非常基本的问题,但我想问一下如何将变量从.droid输出到VS Xamarin中的.shared项目。假设我在.droid的渲染器中有一个带变量值的变量,那么我想从.shared页面调用它。我怎么能这样做?

ScannerPageRenderer.cs(来自.droid)

try
{
  var BarcodeText = result.text.ToString();
  var BarcodeType = result.typeText.ToString();
}

1 个答案:

答案 0 :(得分:0)

如果您有ScannerPageRenderer,那么这意味着您正在为Xamarin.Forms页面使用自定义渲染器。

要传回值,您可以在页面中创建公共属性,对于此示例,我们将其称为ScannerPage,然后将自定义渲染器的Element对象中的值传递为这是您附加自定义渲染器的页面。

private void Scan()
{
    //or however you are getting the result...
    var result = getScanResult();

    var scanPage = Element as ScannerPage;    

    if (scanPage == null)
    {
        return;
    }

    scanPage.BarcodeText = result.text.ToString();
    scanPage.BarcodeType = result.typeText.ToString();
}

另一种方法是,您可以创建一个公共方法,而不是两个属性,您可以使用与属性相同的方式传入result对象。在这种方法中,您将为您的属性或字段分配值。

private void Scan()
{
    var result = getScanResult();

    var scanPage = Element as ScannerPage;    

    if (scanPage == null)
    {
        return;
    }

    scanPage.OnScanCompleted(result);
}

希望这会有所帮助.-