我想我的本地化應用程序欄,我在App.xaml中取得了,但是當我嘗試將欄項目的文本約束它說的文字不能爲空,我已經試過的其他例子本地化應用程序欄,但他們都不是工作,可以對所有的網頁使用的應用欄..本地化的Windows Phone 8
回答
可以在App.xaml
聲明全局應用欄用一些假Text
,例如:
<Application
x:Class="PhoneApp1.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone">
<!--Application Resources-->
<Application.Resources>
<local:LocalizedStrings xmlns:local="clr-namespace:PhoneApp1" x:Key="LocalizedStrings"/>
<shell:ApplicationBar x:Key="GlobalAppBar">
<shell:ApplicationBarIconButton Text="TEST" IconUri="/Assets/check.png"/>
</shell:ApplicationBar>
</Application.Resources>
<Application.ApplicationLifetimeObjects>
<!--Required object that handles lifetime events for the application-->
<shell:PhoneApplicationService
Launching="Application_Launching" Closing="Application_Closing"
Activated="Application_Activated" Deactivated="Application_Deactivated"/>
</Application.ApplicationLifetimeObjects>
</Application>
在App.xaml.cs
應用本地化:
var appBar = App.Current.Resources["GlobalAppBar"] as ApplicationBar;
((ApplicationBarIconButton) appBar.Buttons[0]).Text = AppResources.AppBarButtonText;
現在你可以在App
使用全局AppBar
無處不在,只是在初始化代碼背後的PhoneApplicationPage
:
public MainPage()
{
InitializeComponent();
ApplicationBar = App.Current.Resources["GlobalAppBar"] as ApplicationBar;
}
你得到這個錯誤來自一個事實,即應用程序任務欄不一個DependencyObject,所以它不支持綁定。一個常見的替代方法是用DependencyProperties,最值得注意的是BindableApplicationBar定製AppBar使用..
<bar:BindableApplicationBarButton
Text="{Binding IconButtonText}"
IconUri="{Binding IconUri, FallbackValue=/Icons/Dark/appbar.add.rest.png}"
IsEnabled="{Binding ButtonIsEnabled}" />
<bab:BindableAppBarButton
x:Name="Add"
Text="{Binding AddButtonText}"
Visibility="{Binding ShowAddButton, Converter={StaticResource BooleanToVisibilityConverter}}"
IconUri="{Binding ButtonIconUri}"/>
(從單證的.xaml樣品)
thanx您的答案,但我已經通過上面的回答如下解決這個問題? –
@SandeepChauhan我很清楚,答案已被接受 - 別人可能會面臨同樣的問題,並可能使用此解決方案。 – lisp
或者你可以走的路默認VS模板建議:
將以下代碼添加到頁面的XAML中(他們認爲是最後一個元素,但我不確定它很重要)
在後面的代碼中創建一個私有方法以添加數據綁定菜單項並從構造函數(或任何你所呼叫
InitializeComponent
):
XAML:
<phone:PhoneApplicationPage.ApplicationBar>
<shell:ApplicationBar IsVisible="True" IsMenuEnabled="True" Mode="Minimized" />
</phone:PhoneApplicationPage.ApplicationBar>
C#代碼背後:
private void BuildLocalizedApplicationBar()
{
// Create a new menu item with the localized string from AppResources.
ApplicationBarMenuItem appBarMenuItem = new ApplicationBarMenuItem(AppResources.AboutMenuItem);
ApplicationBar.MenuItems.Add(appBarMenuItem);
}
仍然沒有一個理想的解決方案,但可能比引用非本地部件只是爲了這樣的小事理由更好。 - http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh394040(v=vs.105).aspx
- 如何使用XAML爲Windows Phone手機創建應用欄:
一對夫婦的官方引用的組合,可能會解決問題是作爲一個參考價值使用代碼爲Windows Phone的應用程序欄 - http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff431786(v=vs.105).aspx
- 如何構建Windows Phone的本地化應用程序 - http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff637520(v=vs.105).aspx
- 1. Windows phone 8漢化
- 2. Windows 8的本地化
- 3. Windows Phone 8中的本地Toast通知
- 4. Windows Phone上的本地數據庫8
- 5. Windows Phone 8中的本地通知
- 6. 如何本地化Windows Phone 8中的文件
- 7. UI自動化+ Windows Phone 8?
- 8. XML序列化Windows Phone 8
- 9. Windows Phone 8 - Mac地址
- 10. Windows Phone 8地圖XAMLParseException
- 11. Windows Phone 8地圖uri scheme
- 12. Windows Phone 8藍牙地址
- 13. Windows Phone 8本地化字符串變量
- 14. 本地化文件不會在Windows Phone 8項目中生成
- 15. Windows Phone 8全球應用程序酒吧本地化
- 16. Windows Phone 8 - 本地化無法正常工作
- 17. Windows 8中的Windows Phone 8
- 18. 英語國家的Windows Phone本地化
- 19. Windows Phone的8
- 20. Windows 8地鐵XAML本地化
- 21. Windows 8和Windows Phone 8
- 22. (Windows Phone)本地化應用標題
- 23. windows phone skydrive登錄本地化
- 24. Windows 8中的本地化Metro
- 25. Windows Phone 8地圖覆蓋/地區
- 26. windows phone 8舊地圖vs新地圖
- 27. windows phone 8上的Google地圖
- 28. Windows Phone 8中的Google地圖API
- 29. windows phone 8中的IP地址
- 30. Windows Phone 8
感謝名單,它的工作。 ... –