這讓我抓狂。我試圖從我制作的基本 SettingsPage 繼承,但它不起作用,而且我在任何地方都找不到如何執(zhí)行此操作的示例。我發(fā)現(xiàn)的所有示例都涉及繼承視圖模型和其他非視覺(jué)元素。特別是,我不確定您如何處理派生頁(yè)面中的“Content =”,因?yàn)榛卷?yè)面已經(jīng)設(shè)置了“Content =”。關(guān)于繼承的 MS doco 說(shuō)您不繼承構(gòu)造函數(shù),但可以使用 :base() 繼承它。我已經(jīng)組合了一個(gè)顏色方案選擇器(在 amporis.xamarin.forms.colorpicker 上擴(kuò)展),我想將其用作其他設(shè)置頁(yè)面的基礎(chǔ)(在我想要顏色方案選擇器和其他設(shè)置的應(yīng)用程序中)出色地)。我有一個(gè)類庫(kù) CSettings,如果直接加載的話,CSettingsPage 加載得很好(其中包括 Content=SettingsGrid,所有內(nèi)容都首先加載到其中) - 一切都是“公共”的。然后我有一個(gè) TestBed 應(yīng)用程序,并嘗試創(chuàng)建一個(gè) TBSettingsPage。在頂部我有namespace TestBed { public class TBSettingsPage : CSettingsPage {...(當(dāng)然我已經(jīng)引用了 DLL),并且我已經(jīng)使用構(gòu)造函數(shù)嘗試了以下 3 種變體...public TBSettingsPage():base() {}public TBSettingsPage():base() { Content=SettingsGrid; }public TBSettingsPage() { Content=SettingsGrid; }每次我得到...“拋出異常:Xamarin.Forms.Platform.UAP.dll 中的‘System.Runtime.InteropServices.COMException’錯(cuò)誤 HRESULT E_FAIL 已從對(duì) COM 組件的調(diào)用返回?!?在 Xamarin.Forms 初始化處。...這不是一個(gè)非常有用的錯(cuò)誤消息。它基本上說(shuō)“那是不對(duì)的”,但沒(méi)有告訴我什么是不對(duì)的,也沒(méi)有告訴我如何解決它(谷歌搜索它會(huì)出現(xiàn)各種各樣的情況,其中沒(méi)有一個(gè)適用于我想做的事情)。:-(誰(shuí)能告訴我如何從已有視圖的 BasePage 中派生?(我看到了一個(gè)關(guān)于在頁(yè)面構(gòu)建完成之前使其不可見(jiàn)的提示,然后使其可見(jiàn),但這沒(méi)有幫助)?;蛘呓o我指出一個(gè)實(shí)現(xiàn)這樣的事情的例子?注意:我的 UI 使用 C#,而不是 XAML。如果相關(guān)的話,這也在 UWP 中。謝謝,唐納德。根據(jù)要求,這是來(lái)自 OnLaunched 的代碼protected override void OnLaunched(LaunchActivatedEventArgs e) { Frame rootFrame = Window.Current.Content as Frame; // Do not repeat app initialization when the Window already has content, // just ensure that the window is active if (rootFrame == null) { // Create a Frame to act as the navigation context and navigate to the first page rootFrame = new Frame(); rootFrame.NavigationFailed += OnNavigationFailed; Xamarin.Forms.Forms.Init(e); if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) { //TODO: Load state from previously suspended application } // Place the frame in the current Window Window.Current.Content = rootFrame; }
1 回答

慕斯709654
TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊
所以我最終發(fā)現(xiàn)這都是由于 UWP 中的一個(gè)錯(cuò)誤給我?guī)?lái)了一個(gè)紅鯡魚(yú) - 請(qǐng)參閱https://github.com/xamarin/Xamarin.Forms/issues/9335。正確的語(yǔ)法是我說(shuō)的第一個(gè)語(yǔ)法 - 即public TBSettingsPage():base() {}
- 但 UWP 錯(cuò)誤阻止我看到它是正確的(因?yàn)槲业膽?yīng)用程序仍然崩潰)。值得慶幸的是,這個(gè)錯(cuò)誤現(xiàn)在正在修復(fù)中,既然我知道了正確的語(yǔ)法,我就可以繼續(xù)編碼了。:-)
- 1 回答
- 0 關(guān)注
- 132 瀏覽
添加回答
舉報(bào)
0/150
提交
取消