Styla trackbar C# .Net

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
Användarvisningsbild
Gildebrand
Inlägg: 1108
Blev medlem: 8 maj 2009, 21:40:49
Ort: Falun

Styla trackbar C# .Net

Inlägg av Gildebrand »

Hejsan!

Jag funderar lite på om man skulle kunna styla om en trackbar i c# .net för att se ut såhär
Bild

Jag vet att jag har sett folk göra det men minns inte vart jag sett det.
janno
Inlägg: 431
Blev medlem: 11 oktober 2009, 07:34:45
Ort: Västerås

Re: Styla trackbar C# .Net

Inlägg av janno »

Kan detta vara till lite hjälp:
http://wpf.codeplex.com/
Användarvisningsbild
Gildebrand
Inlägg: 1108
Blev medlem: 8 maj 2009, 21:40:49
Ort: Falun

Re: Styla trackbar C# .Net

Inlägg av Gildebrand »

Har laddat ner teman + toolkit men förstår inte hur man ska tillämpa dem.
janno
Inlägg: 431
Blev medlem: 11 oktober 2009, 07:34:45
Ort: Västerås

Re: Styla trackbar C# .Net

Inlägg av janno »

Jag antar att du har någon version av Visual Studio.
Projektet måste vara av typen WPF Application, antar att Browser Application fungerar också.

När toolkitet är installerat så kan man lägga till de kontroller som finns med i det till designern, men jag tror inte att de behövs för att ändra tema på dialogerna utan endast <tema>.xaml filen är nödvändig.

I App.xaml lägger du till det tema du vill använda, jag har adderat temafilen till mitt projekt. Välj det tema du tycker passa bäst sen kan man modifiera utifrån det som man vill.

Kod: Markera allt

    <Application.Resources>
        <ResourceDictionary Source="ShinyRed.xaml"/>
    </Application.Resources>
Efter detta så kommer alla kontroller ändra utseende.
Användarvisningsbild
Gildebrand
Inlägg: 1108
Blev medlem: 8 maj 2009, 21:40:49
Ort: Falun

Re: Styla trackbar C# .Net

Inlägg av Gildebrand »

Se där ja!

Det var lite annorlunda att jobba med WPF när man är van med winforms.
Vart tvungen att kolla på pyttemjuks hemsida över hur man gör något så enkelt som att gömma en knapp vid tryck :D

MEN GALEN MAN BLIR PÅ VS2010. längtar till den dagen då det kommer en stabil release.
janno
Inlägg: 431
Blev medlem: 11 oktober 2009, 07:34:45
Ort: Västerås

Re: Styla trackbar C# .Net

Inlägg av janno »

Så bra att du fick till det och ja beta2an är lite vinglig minst sagt.
WPF är väldigt anorlunda mot WinForms.

/J
Användarvisningsbild
Gildebrand
Inlägg: 1108
Blev medlem: 8 maj 2009, 21:40:49
Ort: Falun

Re: Styla trackbar C# .Net

Inlägg av Gildebrand »

Hur är det tänkt att WPF ska användas annorlunda än WinForms, om man tänker på olika typer av applikationer.

Man kan tydligen programmera enklare grejjer i XAML också med WPF?

Vart tvungen att skriva button1.Visibility = System.Windows.Visibility.Hidden; för att gömma en knapp vid trykning
men man lär sig säkert.
janno
Inlägg: 431
Blev medlem: 11 oktober 2009, 07:34:45
Ort: Västerås

Re: Styla trackbar C# .Net

Inlägg av janno »

WPF är som jag upplever det mera styrande när det gäller att dela på applikationslogik och användargränssnitt.
Man kan programmera hela sitt användargränssnitt som i WinForms men efter ett tag lär man sig att undvika det.
I princip ska en deginer kunna "rita" användarupplevelsen (skapa olika teman) och utvecklaren skriva alla funktionslogik helt speararat från varandra.
Det man måste tänka på är också att användargränsittet har en egen tråd som ansvarar för ritandet och man kan aldrig uppdatera ett värde från en bakgrundsprocess direkt till användargränssitet (vilket är en bra sak men en aning irriterande ibland).
Något som jag använder en hel del är ObservebleCollections om man ska visa värden i någon sort kontroll. När innehållet uppdateras så uppdateras det som visas i användargränssittet (grafer eller diagram) automatiskt om man har rätt databinding satt.
Tyvärr så har WPF lite problem om man har för mycket data som ska presenteras och kan lätt bli lite långsamt om man inte tänker sig för.

XAML är ju mera ett sätt att statiskt initiera objekt (vilka som helst) och man kan till exempel göra en OnMouseOver funktion som animerar någon knapp. Utan att skriva en rad C# kod. Likaså med databinding sätta att en viss xmlfil ska läsas och någon nod visas i en listbox.
Jag brukar dock ladda resurser från C#-kod och beskriva användargränsnittet i XAML.

/J
janno
Inlägg: 431
Blev medlem: 11 oktober 2009, 07:34:45
Ort: Västerås

Re: Styla trackbar C# .Net

Inlägg av janno »

Angående knappen? Varför gömma den, är inte disable bättre? Jag vet i och för sig inte vad du gör (det finns tilläfllen när det kan vara ok). Men själv brukar jag inte gilla kontroller som försvinner ibland. Kan göra användare lätt förvirrade.

Kod: Markera allt

        
private void button1_Click(object sender, RoutedEventArgs e)
{
    button1.IsEnabled = false;
}
För att gömma räcker detta för mig, saknar du en using

Kod: Markera allt

button1.Visibility = Visibility.Hidden;
Användarvisningsbild
Gildebrand
Inlägg: 1108
Blev medlem: 8 maj 2009, 21:40:49
Ort: Falun

Re: Styla trackbar C# .Net

Inlägg av Gildebrand »

Ville bara prova lite med WPF, och då var ju en enkel grej att gömma något.

.Net funktioner verkar iallafall vara likadana. Som serialport, funkade med samma kod som för WinForms
janno
Inlägg: 431
Blev medlem: 11 oktober 2009, 07:34:45
Ort: Västerås

Re: Styla trackbar C# .Net

Inlägg av janno »

Jo det är samma .Net i bakgrunden, WPF är en extension kan man väl kalla det och ingår från och med .Net 3.5, generelt så är all .Net kod kompatibel bakåt, men det finns undantag runtime (CLR 1.1 och 2.0 är inte alltid helt sams). Man måste skilja på runtimeversionen och frameworkversioner (ger nya funktioner).
När det gäller WinForms och WPF så byter man egentligen bara mellan två olika dll filer medans allt runt om kring fungerar lika, det går även att använda dem tillsammans och blanda WPF och WinForms.
Användarvisningsbild
Gildebrand
Inlägg: 1108
Blev medlem: 8 maj 2009, 21:40:49
Ort: Falun

Re: Styla trackbar C# .Net

Inlägg av Gildebrand »

En liten fundering. Upptäckte att det fanns stöd med från början för att köra i fullscreen, men ute i höger och nedre sidan av fönstret är det en rad vita pixlar. Vet du vad det problemet kan bero på?
Skriv svar