Geek tričko zdarma Python týden
Tričko zdarma! Stačí před dobitím bodů použít kód TRIKO15. Více informací zde
Pouze tento sleva až 80% na kurzy Python
Avatar
Hojdar Vít
Člen
Avatar
Hojdar Vít:21.10.2018 20:12

Po snažení najít komponentu typu "DecimalUpDown", jsem zjistil, že WPF ji už nepodporuje, defaultně. Existuje za ni adekvátní náhrada? Nebo možnost jak ji tam dostat?

Zkusil jsem: Dle netu jsem si našel knihovnu, která ji měla mít > https://github.com/…e/wpftoolkit < jsem ji stáhnul a spustil přes soubor ".sln". Akorát se to otevřelo jako projekt (kde navíc DecimalUpDown ani není), ne jako knihovna. Přiznám, že v importu knihoven dost plavu, hlavně v tom, jak ji dostat do XAMLu (v kódu (.cs) ji vložit umím (když už je naimportována))), ale v xaml ne.

Chci docílit: Vložení funkční komponenty "DecimalUpDown" v XAMLu a její využití.

 
Odpovědět 21.10.2018 20:12
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na Hojdar Vít
ostrozan:21.10.2018 22:21

Ve wpf můžeš použít jakoukoliv kontrolku WF.
Jak na to se dozvíš tady

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět  +2 21.10.2018 22:21
Avatar
patrik.valkovic
Šéfredaktor
Avatar
Odpovídá na Hojdar Vít
patrik.valkovic:21.10.2018 22:27

Proč stahuješ zdrojové kódy? Abys mohl použít jednu kontrolku, musel bys celou knihovnu překompilovat. Použij radši NuGet (jak uvádějí v Readme mimo jiné): https://www.nuget.org/…Wpf.Toolkit/.

Nahoru Odpovědět  +1 21.10.2018 22:27
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Hojdar Vít
Člen
Avatar
Odpovídá na ostrozan
Hojdar Vít:23.10.2018 21:23

Podle toho návodu jsem

  1. vytvořil v XAMLu <Grid Name="grid1" Loaded="Window_Lo­aded"> </Grid> ....
  2. v kódu dopsal "using System.Window­s.Forms;"
  3. vytvořil třídu " private void Window_Loaded­......" (zkopírovanou z návodu)

bohužel mi to podtrhne v řádku "System.Window­s.Forms.Integra­tion.WindowsFor­msHost..." slovo "Integration" a hodí chybu -> "Chyba 1 The type or namespace name 'Integration' does not exist in the namespace 'System.Window­s.Forms' (are you missing an assembly reference?) c:\users\aditus\do­cuments\visual studio 2013\projects\sez­nam\okno_novy_sez­nam.xaml.cs".­..
Nevíš, prosím, co s tím?

 
Nahoru Odpovědět 23.10.2018 21:23
Avatar
patrik.valkovic
Šéfredaktor
Avatar
Odpovídá na Hojdar Vít
patrik.valkovic:23.10.2018 22:06

Ačkoliv se stále přikláním k tomu použít NuGet, problém bude v tom, že ti chybí knihovna pro WinForms. Projekt by měl mít záložky References. Klikneš pravým, dáš "Add Reference" a najdeš .dll knihovnu s WinForms. Už si nepamatuji, ve které Assambly je WinForms definovaný, ale měl bys ho najít někde v seznamu.

Nahoru Odpovědět  +2 23.10.2018 22:06
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Ghst
Člen
Avatar
Odpovídá na patrik.valkovic
Ghst:29.10.2018 23:02

Trošku mimo téma, ale moc děkuji, že jsi mě navedl na ten toolkit, určitě lepší, než používat WF komponenty. Ps: nějaký datagrid, kde by bylo možnost filtrování, v tomhle balíčku je to až v té plus verzi, a to je trošku finančně někde jinde.

 
Nahoru Odpovědět 29.10.2018 23:02
Avatar
Petr Jílek
Člen
Avatar
Petr Jílek:31.10.2018 23:08

Datagrid fitrování zase tak moc nepotřebuje. Filtr se provádí na zdroji dat pro datagrid. Např. u třídy DataTable a její metody DefaultView se dá přímo aplikovat filtr, který se pak přímo projeví v datagridu (pokud je provedený binding na dependency property).

tzn. Datagrid itemssource nastavit bindingem na DataView property a na tuto property pak lze libovolně aplikovat filtr pomocí text řetězce se syntaxí odpovídající Sql WHERE klauzuli

 
Nahoru Odpovědět 31.10.2018 23:08
Avatar
Hojdar Vít
Člen
Avatar
Hojdar Vít:4.11.2018 0:54

Konečně jsem se dostal ke kódování a (v začátku) po trnité cestě i zdárně k výsledku.
Nakonec jsem využil hostování WF ve WPF. Jen jsem využil spíš tuto stránku (Návod: Hostování ovládacího prvku Windows Forms v objektu WPF použitím kódu XAML).

 
Nahoru Odpovědět 4.11.2018 0:54
Avatar
Petr Jílek
Člen
Avatar
Petr Jílek:4.11.2018 21:55

Nebylo by lepší si napsat usercontrol (složený z textbox a 2x button)? Popravdě napsat si sám vlastní control s požadovanou funkcí člověka dost naučí. A navíc je to control ve WPF napsat dost jednpduchý. A hostování Wf ve WPF bych krajně nedoporučoval... tedy muj názor.

 
Nahoru Odpovědět  +1 4.11.2018 21:55
Avatar
Hojdar Vít
Člen
Avatar
Odpovídá na Petr Jílek
Hojdar Vít:5.11.2018 17:34

Nojo, to bych taky mohl někdy zkusit! To mi v té honbě za kontrolkou nenapadlo. Díky za natrknutí.

 
Nahoru Odpovědět 5.11.2018 17:34
Avatar
Ghst
Člen
Avatar
Odpovídá na Petr Jílek
Ghst:13.11.2018 15:49

Ano tohle jsem objevil, šlo mi spíše o obdobu, filtrů v excelu / accesu, do záhlaví sloupce uživatel napíše hodnotu, vyfiltrují se pouze hodnoty, které splňují podmínku, ano napsat to jde, ale přijde mi divné, že tohle není přímo v controlu.

 
Nahoru Odpovědět 13.11.2018 15:49
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 11 zpráv z 11.