Aplikace bez okrajů   zodpovězená otázka

Silverlight, .NET

Je možné ve WPF vytvořit nestandardní aplikaci, která nebude mít okraje (tzn. okno s třemi tlačítky nahoře)? Např. by šlo o nějaký grafický, animovaný prvek (na podobné bázi jako např. kdysi sponka - nápověda - ve wordu).

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To jde bez problémů i ve Windows Forms takže ve WPF zcela jistě také.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Děkuju. Je něco takového možné jako RIA aplikace? Např. v Silverlight formou out of the browser?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pokud vím, tak Silverlight běží pouze v prohlížeči, takže tam žádná samostatná vlastní okna nepřicházejí v úvahu. A jaký by to vůbec mělo smysl? To už je 100x lepší udělat plnohodnotnou desktopovou aplikaci.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Jde o to, aby se aplikace nemusela instalovat - tzn. vždy by se z netu natáhla při spuštění aktuální verze.

Příp. lze v .NET vytvořit jediné samospustitelné .exe, které by zahrnovalo i externí .dll knihovny etc.? Takže by bylo možné program snadno nahradit aktuální verzí bez nutnosti instalace.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Program lze bez instalace nahradit aktuální verzí vždy (XCOPY deployment), jediná nutnost je mít nainstalovaný .NET Framework.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Děkuju. Dotaz považuji za zodpovězený.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Out of Browser Silverlight umí samozřejmě, již od verze 3.

Řeší si to samo i updaty.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Takže výsledek je exe binárka nezávislá na Internet Exploreru, ve které jdou zobrazovat top-level okna (i modální) a vyžaduje pouze runtime Silverlightu?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Skoro. Silverlight aplikace se distribuují v XAP archivech, což je smečka zazipovaných DLL s jedním XML manifestem.

Aplikace může požádat runtime (zavolá Application.Current.Install()), aby uživateli zobrazil dialog pro instalaci aplikace, kde uživatel jenom vybere, jestli chce ikonu na ploše nebo v nabídce Start. Appka se nainstaluje do profilu uživatele, takže nejsou potřeba admin práva. Není nutné mít .NET, stačí runtime Silverlightu.

Po nainstalování pak může aplikace běžet v režimu Out of Browser, tj. má vlastní okno. V Silverlight 5 může vytvářet libovolné množství oken, v předchozích verzích to tuším nešlo, ale možná se pletu.

Při spuštění aplikace kontroluje, jestli se ten XAP soubor na webu nezměnil, a pokud ano, tak si ho zaktualizuje. Dá se to dělat i programově.

Silverlight dneska umí volat i COM, od verze 5 může v Out Of Browser režimu sahat na celý disk (podle práv uživatele), takže by to mělo být použitelné na většinu scénářů.

Jediné omezení asi je, že tam tuším není SqlClient a obecně třídy pro přímý přístup k databázi (muselo by se jet přes COM). Počítá se s tím, že vše půjde přes WCF (mají na to nadstavbu WCF RIA Services, která řeší autentizaci, autorizaci a přístup k datům včetně filtrování, stránkování a řazení). Tohle "omezení" mi ale spíš vyhovuje, těžké klienty napojené přímo na databázi nemám moc rád.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Pokud chcete přesně to co je ve wordu, použijte WPF Ribbon Toolkit od MS. A vlastnosti okna nastavte na WindowStyle - None, AllowTransparency - True, nebo nějak podobně.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback