BETA
Aby się zalogować, najpiew wybierz portal.
Aby się zarejestrować, najpiew wybierz portal.
Podaj słowa kluczowe
Słowa kluczowe muszą mieć co najmniej 3 sąsiadujące znaki alfanumeryczne
Pole zawiera niedozwolone znaki

Baza wiedzy











Jak napisać aplikację wielojęzykową Windows Phone 7.5 / 7,8 / 8 cz.3

12-04-2013 06:00 | mag3333
Krótko o tym, jak stworzyć wielojęzykowy application bar w aplikacji mobilnej

Skoro napisaliśmy już aplikację, która jest w kilku językach, jeżeli używamy application bara, przydałoby się żeby również był on w kilku językach. Niestety Binding przedstawiony w części drugiej, nie może zostać do tego użyty. Dlatego też chcę zaprezentować inne rozwiązanie. Application bar zostanie stworzony dynamicznie. 

Aby tego dokonać będziemy potrzebowali odpowiedniej funkcji, nazwijmy ją BuildApplicationBar().

Funkcję tą będziemy wywoływać np podczas tworzenia strony na której ma się znajdować, np.:

public MainPage()
        {
            InitializeComponent();
            BuildApplicationBar();
        }
 
Sama funkcja będzie się przestawiała następująco:
 
private void BuildApplicationBar()
        {
            // Tworzymy nową instancję AppBara dla danej strony
            ApplicationBar = new ApplicationBar();
            // Tworzymy managera, który da nam dostęp do słowników, założyłem strukturę katalogów jak w częsci pierwszej i drugiej kursu
            ResourceManager rm = new ResourceManager("NazwaAplikacji.Languages.Language", Assembly.GetExecutingAssembly());
            // Tworzymy nowy button dla ApplicationBara o obrazku podanym w parametrze
            ApplicationBarIconButton appBarButton = new ApplicationBarIconButton(new Uri("/Images/AppBar/edit.png", UriKind.Relative));
            // przypisujemy temu buttonowi odpowiedni opis przy użyciu naszego managera zasobów
            appBarButton.Text = rm.GetString("Feedback");
            // podpinamy do naszego buttona odpowiedni event
            appBarButton.Click += ApplicationBarIconButton_Click;
            // dodajemy utworzony button do applicationBara, możemy dodać maksymalnie 4
            ApplicationBar.Buttons.Add(appBarButton);
            

            // analogicznie możemy stworzyć pozycję menu, w konstruktorze podając napis jakim ma być opisana 
            ApplicationBarMenuItem appBarMenuItem = new ApplicationBarMenuItem(rm.GetString("Feedback"));
            // przypinamu odpowiedni event
            appBarMenuItem.Click += appBarMenuItem_Click;
            // dodajemy pozycję menu do application Bara
            ApplicationBar.MenuItems.Add(appBarMenuItem);
        }
 

tak zdefiniowana funkcja pozwoli nam dodać do naszej aplikacji w pełni zlokalizowany appbar. Oczywiście application Bar w kodzie xaml powinien zostać usunięty, a eventy dla niego stworzone możemy podpiąć do appbara tworzonego dynamicznie w tej funkcji.

Teraz już wszystkie elementy naszej aplikacji zostały zlokalizowane, pozostaje wrzucić ją na marketplace.

Komentarze 0

pkt.

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.