C# 对所有–;通用应用程序

C# 对所有–;通用应用程序,c#,xaml,windows-8.1,windows-phone-8.1,win-universal-app,C#,Xaml,Windows 8.1,Windows Phone 8.1,Win Universal App,我目前正在开发我的First universal应用程序。我想分享所有的xaml文件,不仅仅是LIB和use #if WINDOWS_PHONE_APP #endif …特殊例外情况 因此,第一步是用以下命令隐藏WP的状态栏 #if WINDOWS_PHONE_APP private async static void HideStatusBar() { Windows.UI.ViewManagement.StatusBar statusbar = Windows.UI.ViewManag

我目前正在开发我的First universal应用程序。我想分享所有的xaml文件,不仅仅是LIB和use

#if WINDOWS_PHONE_APP
#endif
…特殊例外情况

因此,第一步是用以下命令隐藏WP的状态栏

#if WINDOWS_PHONE_APP
private async static void HideStatusBar()
{
  Windows.UI.ViewManagement.StatusBar statusbar = Windows.UI.ViewManagement.StatusBar.GetForCurrentView();
  await statusBar.HideAsync();
}
#endif 
但它不起作用


共享项目没有引用文件夹。对于共享项目中的xaml,通常可以使用windows和windows phone项目的references文件夹中的元素。否则,我必须为每个平台使用单独的xaml文件吗?

据我所知,在
Universal
应用程序中,您只能共享
DataModel
和图像等其他文件。但设计应该分开进行。ie:正如你说的,你必须单独定义xaml页面

有关更多信息,请参阅以下内容:


希望有帮助

在回答这个问题时,共享项目不能有共享的引用……您需要在您所针对的每个项目“头”中添加引用。至于你的代码为什么不工作,你不太清楚在哪里调用这个函数。它看起来是正确的,但是谁在调用HideStatusBar,或者您是如何表示它不工作的?

可以使用一个视图(XAML文件),有时这很有意义;e、 g.见

我刚刚创建了一个通用应用程序,将MainPage.xaml移动到共享项目,并将其从Windows 8.1和Windows Phone 8.1项目中删除

我没有隐藏状态栏,而是使用了

#if WINDOWS_PHONE_APP
ColumnDefinition1.Width = new Windows.UI.Xaml.GridLength(0);
#endif

更改我的网格的列定义。

在这种情况下,95%的前端代码是相同的。大量的复制粘贴不是很好。应该更像是编写一个响应性强的网站,我也同意你的看法。但不幸的是,情况确实如此。