Hej!
Ska precis börja utveckla en helskärms fönsterapplikation i C#, och har två praktiska frågor.
I applikationen ska användaren kunna byta språk genom att trycka på en knapp. Hur fixar man det bäst/smidigast? Har hört något om resources, är det rätt väg att gå?
Applikationen kommer bestå av ett antal "sidor". Användaren trycker på några knappar på sida 1, och kommer sedan till sida 2 osv. Flera av sidorna kommer antagligen vara rätt så lika varandra (samma knappar osv, bara lite annorlunda text). Hur lägger man upp det hela smidigast? Är det ett formulär för varje sida, eller ska man lägga de olika sidorna som någon form av "lager" på ett och samma form (och sen dölja/visa dem ett i taget)?
Som Addeladde också föreslår så fungerar resources fint och har ett syfte att agera behållare för lokaliserade strängar.
Om du använder .NET 3.0 eller högre och WPF så kan du t.ex. titta på Navigation som hjälper dig att bygga upp din applikation med olika sidor där du med länkar kan hoppa mellan dem och även har en historik på hur du navigerat.
Annars är ett tips att söka på wizard control på google så kommer du få massor med träffar på kontroller som sköter mycket åt dig.
Håller på och labbar lite med resources. Hittade den här guiden som jag har följt.
Om jag exempelvis har valt Swedish och ändrar texten på en label så är det inga problem. Det skapas en "label1.Text" i den svenska resource-filen. När jag byter mellan mina språk i applikationen så ändras texten som den ska.
Problemet kommer när jag manuellt petar in en sträng i resourcefilen (ex "abc" med värdet "foo" i den svenska resursfilen och värdet "bar" i den engelska) och sparar den. Om jag kör min applikation efter att ha sparat värdena så fungerar det som det ska. MEN om jag i designläget ändrar språk (för att ex. ändra texten på en knapp) så försvinner mina egendefinierade variabler från resource-filerna. Gör jag något fel när jag lägger in mina värden, eller ska man låsa dem på något sätt?
Hej igen!
Har börjat titta lite på WPF och navigation. Verkar ju riktigt smutt, tack för tipset :)
Har dock även här en fråga. Jag har en frame som jag använder för att visa Pages i. På den första sidan får användaren trycka på en av flera knappar. Beroende på vilken av knapparna besökaren trycker på, så ska användaren skickas vidare till en serie av förutbestämda Pages (trycker han ex på knapp 1 ska han skickas till Page A, B, C, D och trycker han på knapp 2 ska han istället skickas till Page C, B, D, E).
Dvs jag vet inte att användaren ska skickas vidare till sida D bara för att han är på sida C nu, utan jag måste spara den här sidföljden någonstans. Eftersom jag kommer åt framens NavigationService innifrån de olika Pagesen tänkte jag att man kanske kunde utöka den klassen med lite egen kod, men upptäckte sen att den klassen var sealed. Så vad blir smidigaste lösningen nu? Jag kan ju skicka med ett navigationsobjekt till varje Page, men det känns lite omständigt. Några åsikter?
public partial class TestPage : Page {
private MyNav nav;
public TestPage() {
InitializeComponent();
}
public TestPage(MyNav nav)
: this() {
this.nav = nav;
}
private void button1_Click(object sender, RoutedEventArgs e) {
this.NavigationService.Navigate(this.nav.NextPage());
}
}
260 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849