2016-07-18 74 views
0

我想將相機/激光打印圖像導入頁面,而不是進入App()頁面,功能ShouldTakePicture()不起作用,任何人都可以提供示例代碼,我可以將圖像導入到另一個頁面並顯示在一個列表視圖?Xamarin將圖像導入到新頁面

在另一個頁面時做此導入圖像中的鏈接http://xforms-kickstarter.com/#camera

但是做形式的代碼,在MainActivity拋出波紋錯誤

Severity Code Description Project File Line Suppression State Error CS1503 Argument 1: cannot convert from 'Gallary2.Injury' to 'Xamarin.Forms.Application' Gallary2.Droid C:\Users\haris\Documents\Visual Studio 2015\Projects\Gallary2\Gallary2\Gallary2.Droid\MainActivity.cs 32 Active

誰能幫助我在圖像導入示範項目Xamarin形式? (只有c#請不要在XAML中進行更改)

+0

使用媒體插件形式是很容易 - https://github.com/jamesmontemagno/MediaPlugin – Jason

回答

0

聽起來您已創建新頁面,並且在該新頁面中創建了類型Action類型的屬性。究其原因,該代碼現在失敗了,是因爲這條線在iOS和Android項目:

(Xamarin.Forms.Application.Current as App).ShouldTakePicture +=() => { 

該行期待的ShouldTakePicture特性,在你的App類,但它已被移動到新頁。

要解決此問題,您可以將該屬性移回App類,然後通過調用Command = new Command(o => App.ShouldTakePicture()),從新頁面引用該屬性。

解決此問題的更好方法是使用Xamarin的DependencyService,有關該問題的信息是here。如果您需要幫助設置DependencyService,請告訴我。

+0

感謝您的解決方案,同時努力我得到一個錯誤 嚴重\t代碼\t說明\t項目\t文件上面\t \t線抑制狀態 錯誤\t \t CS0120一個對象引用是所必需的非靜態字段,方法或屬性 'App.ShouldTakePicture' \t \t Gallary2 C:\用戶\哈里斯\文件\的Visual Studio 2015 \項目\ Gallary2 \ Gallary2 \ Gallary2 \ Injury.xaml.cs Active 請問您能否提出一種解決方法? –

+0

「非靜態字段需要對象引用」,這是我無法解決的問題,感謝您的幫助 –

+0

@HarishVelala我假設你選擇將屬性移回「App」類。所以聽起來好像你需要聲明'ShouldTakePicture()'方法爲靜態的,或者你需要初始化一個App類的實例,這意味着你必須這樣做:App App = new App(); app.ShouldTakePicture();' – hvaughan3