这可能是一个非常基本的问题,但我想问一下如何将变量从.droid输出到VS Xamarin中的.shared项目。假设我在.droid的渲染器中有一个带变量值的变量,那么我想从.shared页面调用它。我怎么能这样做?
ScannerPageRenderer.cs(来自.droid)
try
{
var BarcodeText = result.text.ToString();
var BarcodeType = result.typeText.ToString();
}
答案 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);
}
希望这会有所帮助.-