NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Jak vložit zprávu z ResourceDictionary do MessageBoxu?

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Eda Vyskoč
Člen
Avatar
Eda Vyskoč:28.1.2018 13:48

Ahoj,

řeším následující problém:

Mám založený resource Dictionary, v kterém mám key "chyba" se spojením "Zadali jste špatný formát čísel!" a teď bych ho rád zobrazil ve zprávě formou MessageBox.Show();

Tedy něco ve smyslu:

MessageBox.Show({re­sources: ""});

Vím, že v rámci XAML to je třeba <TextBox content="{Dynamic resources chyba}">

Jak je to však v C sharp, netuším! :-(

Děkuji za rady!

 
Odpovědět
28.1.2018 13:48
Avatar
Neaktivní uživatel:28.1.2018 15:37

Ahoj,

  1. na texty pouzivaj subory resx. Je k nim lahky pristup cez kod pomocou Properties.Re­souce.xxx, kde xxx je dany string. Bude sa ti ho hodit napr. pri lokalizacii aplikacie.
  2. vyvaruj sa pouzivaniu DynamicResource, pouzivaj StaticResource.

M.

Nahoru Odpovědět
28.1.2018 15:37
Neaktivní uživatelský účet
Avatar
Eda Vyskoč
Člen
Avatar
Odpovídá na Neaktivní uživatel
Eda Vyskoč:23.4.2018 9:41

V čem se liší DynamicResource od StaticResorce?

Díky.

 
Nahoru Odpovědět
23.4.2018 9:41
Avatar
Neaktivní uživatel:23.4.2018 9:48

Celkom pekne vysvetlene:

https://www.c-sharpcorner.com/blogs/static-resource-vs-dynamic-resource-in-xaml1

Kazdopadne, vsetko ma svoje + / -.

M.

Nahoru Odpovědět
23.4.2018 9:48
Neaktivní uživatelský účet
Avatar
Eda Vyskoč
Člen
Avatar
Odpovídá na Neaktivní uživatel
Eda Vyskoč:23.4.2018 10:06

Zkouším založit ty prostředky a bohužel při založení souboru a pak vložení stringů se mi nedaří v kodu načíst xxx, tj..

Properties.Re­souce.xxx (xxx = string)

napíše mi to že prostředek je neznámý....

Musím nějak ten soubor resx v kodu inicializovat, případně jak, prosím?

 
Nahoru Odpovědět
23.4.2018 10:06
Avatar
Neaktivní uživatel:23.4.2018 10:08

Ked editujes "Resources", tak Visual Studio defaultne zmeni konstruktor na private, zmen ho na public.
Potom by to malo byt dostupne.

Nahoru Odpovědět
23.4.2018 10:08
Neaktivní uživatelský účet
Avatar
Eda Vyskoč
Člen
Avatar
Eda Vyskoč:23.4.2018 10:14

resources neobsahuje definici pro msg....:-(

 
Nahoru Odpovědět
23.4.2018 10:14
Avatar
Eda Vyskoč
Člen
Avatar
Eda Vyskoč:23.4.2018 10:23

Vyřešeno:

Volání se totiž skládá takto:

název_aplikace­.název_soboru_pros­tředků.řetězec!

konkrétně:

Activity_Timer­.Resource1.msg

 
Nahoru Odpovědět
23.4.2018 10:23
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.