我想以某種方式自定義PhoneApplicationFrame,但我不明白我該如何繼續。PhoneApplicationFrame自定義沒有效果
讓我解釋一下:我正在研究一個WP8應用程序,我想要一個背景聲音和聲音效果(同時)。在詢問幫助後,this post,我被告知使用MediaElement
並將其添加到PhoneApplicationFrame
的XAML
(這是否正確?)。
我有什麼在這個問題上做:
我創建了一個框架(稱爲IntroFrame),並將其設置爲RootFrame
在App.xaml.cs
文件。因此,它是:
public partial class App
{
public static IntroFrame RootFrame {get; private set;}
...
}
而在InitializePhoneApplication
方法,我適應代碼:
private void InitializePhoneApplication()
{
...
RootFrame = new IntroFrame();
RootFrame.Navigated += CompleteInitializePhoneApplication;
...
}
在XAML中,我試圖添加MediaElement
:
<phone:PhoneApplicationFrame
x:Class="PazaakPhone.IntroFrame"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
mc:Ignorable="d"
shell:SystemTray.IsVisible="True">
<MediaElement x:Name="BackgroundMedia" Source="Assets/Audio/bgm.mp3" AutoPlay="True" />
</phone:PhoneApplicationFrame>
的框架似乎很好,我嘗試了高度技巧,如here,它工作。但是,我試圖自定義該框架,添加視覺元素,更改MediaElement,沒有任何影響。我猜PhoneApplicationFrame
不能有內容像PhoneApplicationPage
?我認爲我可以在後臺執行此操作,而框架則承載所有其他頁面。但是,無論我走錯了路,還是錯過了一些東西。會是什麼呢?
謝謝@cadessi的回答。儘管它確實解決了運行聲音的問題,但它將我帶到MainPage並僅顯示標題(標題),而其餘的頁面內容未顯示。我試圖修改樣式,以便顯示所有頁面,但無論我做什麼修改,它總是會導致異常。 – VasileF
由於MediaElement已摺疊,因此框架中顯示的任何頁面都應該顯示整個屏幕。請使用新的空白Windows Phone應用程序嘗試上面的代碼。 –
謝謝你,它爲MediaElement播放背景音效。但似乎許多控件只是從用戶界面消失 - 列表框,列表選擇器,圖像等。如果我明確設置了HorizontalAlignment屬性,所有UI元素似乎都消失了。我的應用中的所有頁面都處於橫向模式,是否會干擾樣式的某些默認屬性? – VasileF