我正在研究我的拳头通用应用程序。我想分享所有xaml文件,而不仅仅是libs并使用...
#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
但它不起作用。
共享项目没有References文件夹。通常可以在共享项目中使用windows和windows phone项目的references文件夹中的元素作为xaml。否则我必须为每个平台使用单独的xaml文件吗?
答案 0 :(得分:1)
据我所知,在Universal
应用中,您只能共享DataModel
和其他文件,例如图片等。但设计应该分开进行。即:正如你所说,你必须分别定义xaml页面。
有关更多信息,请参阅:
http://msdn.microsoft.com/en-us/library/windows/apps/dn609832.aspx
http://channel9.msdn.com/Series/Building-Apps-for-Windows-Phone-8-1/22
希望它有所帮助!
答案 1 :(得分:0)
在此答案中,共享项目无法共享引用...您需要在每个项目中添加引用' head'你的目标。至于为什么你的代码不起作用,你并不清楚该函数的调用位置。它看起来是正确的,但是谁在调用HideStatusBar,或者你是如何表明它不起作用的?
答案 2 :(得分:0)
可以使用一个视图(XAML文件),有时候很有意义;例如见http://www.wintellect.com/devcenter/jprosise/sharing-views-in-universal-apps。
我刚刚创建了一个通用应用程序,将 MainPage.xaml 移动到共享项目,并将其从Windows 8.1和Windows Phone 8.1项目中删除。
我没有隐藏状态栏但是使用了
#if WINDOWS_PHONE_APP
ColumnDefinition1.Width = new Windows.UI.Xaml.GridLength(0);
#endif
更改网格的列定义。