2017-09-18 5 views
0

これは非常に基本的な質問かもしれませんが、どうすれば.droidからVS Xamarinの.sharedプロジェクトに変数を出力することができますか質問したいと思います。たとえば、.droidのレンダラーに値を持つ変数があるとします。次に、.sharedページから呼び出すとします。これどうやってするの?あなたはScannerPageRendererを持っているなら、これはあなたがXamarin.Formsページのカスタムレンダラを使用していることを意味します(.droidから)VS Xamarinで.droidから.sharedプロジェクトに変数を呼び出す方法は?

ScannerPageRenderer.cs

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

答えて

0

だが、それ 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(); 
} 

別の方法ではなく、2つのプロパティあなたはresultオブジェクトのプロパティと、上記と同様の方法を渡すパブリックメソッドを作成することになります。このような方法では、プロパティまたはフィールドに値を割り当てます。

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

    var scanPage = Element as ScannerPage;  

    if (scanPage == null) 
    { 
     return; 
    } 

    scanPage.OnScanCompleted(result); 
} 

・ホープ、このhelps.-

+0

そのためには、私は.sharedプロジェクトで私のScannerPage.xaml.csでこのコードを置く必要がありますか? ScannerPageRenderer.csから変数の値を取得してコードを処理した部分はありますか? –

+0

質問を簡単にするには、.droidプロジェクトのScannerPageRenderer.csから.sharedプロジェクトのScannerPage.csに変数を呼び出すにはどうすればいいですか? –

+0

申し訳ありませんが私は十分に明確でない場合。上記のコードはRendererクラスから呼び出されます。ページはこの変数にアクセスできませんが、カスタムレンダラーはページにアクセスできます。上で説明したように、プロパティまたはメソッドを使用してレンダラーからページに値を設定するだけです。 – apineda

関連する問題