Toon posts:

[WPF-C#] Google Chrome like window met tabs

Pagina: 1
Acties:

Onderwerpen


  • jvaneijk
  • Registratie: Mei 2003
  • Laatst online: 21-05 23:34
Hoi allemaal,

Ik ben op zoek naar een manier om een Window te maken ala Chrome / FireFox / IE9
Die de tabs in de titelbalk heeft staan. Nu heb ik al veel gezocht op google en kwam telkens uit op
WPF Customizable window. Dit is een leuk voorbeeld. Alleen dit geeft problemen met de huidige configuratie van onze solution. En is dus geen optie.

voorbeeldje wat we willen doen:



Ik vroeg me af of er hier mensen zijn die dit wel eens hebben geprobeerd

iRacing Profiel


  • Rikkos
  • Registratie: November 2010
  • Laatst online: 12-02 20:41
Ik denk dat tabcontrol je precies de zelfde functie geeft die je zoekt, deze zit gewoon WPF zelf.

  • CyBoB
  • Registratie: Januari 2001
  • Laatst online: 25-01 16:32

CyBoB

.::BURB::.

Misschien heb je hier wat aan. Had hem ooit eens gebookmarked :)

http://blogs.msdn.com/b/w...window-chrome-in-wpf.aspx

  • jvaneijk
  • Registratie: Mei 2003
  • Laatst online: 21-05 23:34
Rikkos schreef op dinsdag 14 juni 2011 @ 15:57:
Ik denk dat tabcontrol je precies de zelfde functie geeft die je zoekt, deze zit gewoon WPF zelf.
Ja ik weet dat WPF een tabcontrol heeft maar dat is nog niet zo moeilijk... De echte uitdaging komt op het moment dat je die tabcontrol in je Titlebar wilt krijgen. Want een tabcontrol gebruiken lukt mij wel hoor :) Maar toch bedankt voor je reactie.

iRacing Profiel


  • mOrPhie
  • Registratie: September 2000
  • Laatst online: 11:46

mOrPhie

denniebee

Ik denk dat .NET het niet toelaat om in de window border te tekenen zoals Firefox en Chrome dat doen. Je zal hiervoor de Windows API moeten aanroepen middels P-Invoke services. :)

Wellicht dat deze linkjes je verder helpen:

http://www.pinvoke.net/
MSDN: Platform Invoke Tutorial (C#)

Bedenk je wel dat, als niemand hier een lib voor heeft, dit een lastige taak zal worden en je wellicht je kosten/baten opnieuw zal moeten overwegen. :)

[Voor 17% gewijzigd door mOrPhie op 14-06-2011 16:42]

Een experimentele community-site: https://technobabblenerdtalk.nl/. DM voor invite code.


  • NickThissen
  • Registratie: November 2007
  • Laatst online: 23-05 20:03
Wat bedoel je precies met "Alleen dit geeft problemen met de huidige configuratie van onze solution"? De link die je zelf al geeft lijkt me precies te doen wat je wilt, dus je kunt op z'n minst proberen de source code te bekijken hoe ze het doen en het dan nadoen?

Mijn iRacing profiel


  • mOrPhie
  • Registratie: September 2000
  • Laatst online: 11:46

mOrPhie

denniebee

NickThissen schreef op dinsdag 14 juni 2011 @ 21:12:
Wat bedoel je precies met "Alleen dit geeft problemen met de huidige configuratie van onze solution"? De link die je zelf al geeft lijkt me precies te doen wat je wilt, dus je kunt op z'n minst proberen de source code te bekijken hoe ze het doen en het dan nadoen?
Ze verwijderen de hele WindowStyle om vervolgens zelf de buttons (zoals minimize en maximize) toe te voegen. Niet echt de meest elegante manier als je het mij vraagt, aangezien dit vrij gemakkelijk layouting-issues op kan leveren. Bovendien ben je met die library gebonden aan WPF. Iets wat de TS wellicht niet ter beschikking heeft in z'n huidige solution. Je zou het kunnen nadoen in WinForms, maar het blijft een beetje wankele oplossing zo.

[Voor 6% gewijzigd door mOrPhie op 14-06-2011 21:39]

Een experimentele community-site: https://technobabblenerdtalk.nl/. DM voor invite code.


  • NickThissen
  • Registratie: November 2007
  • Laatst online: 23-05 20:03
mOrPhie schreef op dinsdag 14 juni 2011 @ 21:38:
[...]


Ze verwijderen de hele WindowStyle om vervolgens zelf de buttons (zoals minimize en maximize) toe te voegen. Niet echt de meest elegante manier als je het mij vraagt, aangezien dit vrij gemakkelijk layouting-issues op kan leveren. Bovendien ben je met die library gebonden aan WPF. Iets wat de TS wellicht niet ter beschikking heeft in z'n huidige solution. Je zou het kunnen nadoen in WinForms, maar het blijft een beetje wankele oplossing zo.
De topic titel zegt WPF dus ik neem aan dat er WPF gebruikt wordt... Verder had ik niet meteen gezien dat ze inderdaad de buttons zelf tekenen, maar dan nog snap ik de uitleg van de TS niet (ligt vast aan mij...), zeg dan gewoon dat je dat niet wil maar dat je perse API's wilt gebruiken, anders komen er wellicht nog 5 van deze voorbeelden langs waar de TS dus ook niets aan heeft...

Mijn iRacing profiel


  • mOrPhie
  • Registratie: September 2000
  • Laatst online: 11:46

mOrPhie

denniebee

Oh, sorry. Dat WPF in de titel had ik even overheen gekeken. :)

Een experimentele community-site: https://technobabblenerdtalk.nl/. DM voor invite code.


  • jvaneijk
  • Registratie: Mei 2003
  • Laatst online: 21-05 23:34
NickThissen schreef op dinsdag 14 juni 2011 @ 21:12:
Wat bedoel je precies met "Alleen dit geeft problemen met de huidige configuratie van onze solution"? De link die je zelf al geeft lijkt me precies te doen wat je wilt, dus je kunt op z'n minst proberen de source code te bekijken hoe ze het doen en het dan nadoen?
Wij hebben een gesignede solution en deze dll is unsigned en willen we niet in onze code opnemen. Ik heb ook al met IL Spy gekeken hoe de code in elkaar zit maar is obfuscated.

iRacing Profiel


  • jvaneijk
  • Registratie: Mei 2003
  • Laatst online: 21-05 23:34
Het is idd zoals de titel zegt WPF. Ik ben nu bezig om uit te zoeken hoe ik dit kan oplossen met de DWMApi.

In ieder geval bedankt voor jullie bijdrage.

iRacing Profiel


  • alwinuzz
  • Registratie: April 2008
  • Laatst online: 30-05 19:12
Je kan de source code toch bekijken en downloaden?
Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee