[Silverlight] RoutedEvent werkt niet met MouseEnter

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Swerfer
  • Registratie: Mei 2003
  • Laatst online: 06-09 16:30
Bij onderstaande code krijg ik bij het starten van de debugger meteen een foutmelding:
Failed to assign to property 'System.Windows.EventTrigger.RoutedEvent'. [Line: 14 Position: 31]

Line 14 position 31 is de 'T' in RoutedEvent="TextBlock.MouseEnter"

Als ik MouseEnter verander in Loaded, dan start de pagina goed op en veranderd de tekst in het Textblock ook keurig van fontsize 20 naar 36.

Als ik in Goggle zoek, dan kom ik zat voorbeelden tegen die bij een TextBlock wel gebruik maken van MouseEnter, maar om de één of andere reden werkt het bij mij niet.

Wat doe ik fout?


XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<TextBlock 
        Height="40" 
        HorizontalAlignment="center" 
        Margin="0,337,0,0" 
        Name="Cultuur" 
        Text="Cultuur" 
        VerticalAlignment="Top"
        Width="auto" 
        Cursor="Hand" 
        FontWeight="Bold" 
        FontSize="20" >
    <TextBlock.Triggers>
        <EventTrigger RoutedEvent="TextBlock.MouseEnter" >
            <BeginStoryboard>
                <Storyboard>
                    <DoubleAnimation
                                Storyboard.TargetName="Cultuur"
                                Storyboard.TargetProperty="FontSize"
                                From="20.0" To="36.0" Duration="0:0:1" />
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger>
    </TextBlock.Triggers>
</TextBlock>


edit:

O ja, ik gebruik Microsoft Visual Web Developer 2010 Express met Silverlight 4...

[ Voor 5% gewijzigd door Swerfer op 22-11-2010 18:59 ]

Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 01:31

MueR

Admin Tweakers Discord

is niet lief

Even een tik naar de front-end kant van de schuur.

Programming >> Webdesign, Markup & Clientside Scripting

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

  • Dark Blue
  • Registratie: Februari 2001
  • Laatst online: 05-09 10:36

Dark Blue

Compositionista!

Alpenmeisje

Ik ben zelf ook nogal verdwaald in welke RoutedEvents je op welke control kunt gebruiken.
Wat voor effect geeft RoutedEvent="MouseOver" ? Ik weet niet of hij geldig is, maar ik zie 'n aantal voorbeelden, o.a. op Stackoverflow, waar ze hem gebruiken.

heidiulrich.nl | adventura.nl : rugzakavonturen | pathwise.nl : prepping geeks to get jobs


Acties:
  • 0 Henk 'm!

  • Swerfer
  • Registratie: Mei 2003
  • Laatst online: 06-09 16:30
Dark Blue schreef op dinsdag 23 november 2010 @ 10:14:
Ik ben zelf ook nogal verdwaald in welke RoutedEvents je op welke control kunt gebruiken.
Wat voor effect geeft RoutedEvent="MouseOver" ? Ik weet niet of hij geldig is, maar ik zie 'n aantal voorbeelden, o.a. op Stackoverflow, waar ze hem gebruiken.
Ik wil dat bij een TextBlock de fontsize wordt vergroot met een Storyboard zodra de muis over de control beweegt (Hover) en weer verkleind als je de muis weer verplaatst. Ik heb ook al voorbeelden op internet gezien die gebruik maken van MouseOver en MouseLeave bij een TrextBlock.

Maar om de een of andere reden werk het bij mij niet en krijg ik bij het starten van de debugger in Visual Web Developer meteen de foutmelding zoals in de topicstart...

Het vreemde is dat de RoutedEvent Loaded wel werkt. Ik vraag me dus af of het event wel geldig is bij een TextBlock, maar dat staat weer haaks op de voorbeelden die je op internet vind...

Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com


Acties:
  • 0 Henk 'm!

  • CodeIT
  • Registratie: Juni 2002
  • Laatst online: 12-09 20:23

CodeIT

Code IT

Ik heb je XAML even gecopypaste in een WPF window en daar werkt het wel goed.
Je kunt de eventtrigger ook schrijven als:
XML:
1
    <EventTrigger RoutedEvent="Mouse.MouseEnter" > 

Acties:
  • 0 Henk 'm!

  • Swerfer
  • Registratie: Mei 2003
  • Laatst online: 06-09 16:30
CodeIT schreef op woensdag 24 november 2010 @ 16:00:
Ik heb je XAML even gecopypaste in een WPF window en daar werkt het wel goed.
Je kunt de eventtrigger ook schrijven als:
XML:
1
    <EventTrigger RoutedEvent="Mouse.MouseEnter" > 
Mouse.MouseEnter had ik ook al gebprobeert, net zoals alleen MouseEnter, maar beide doen het niet. Ik ga het één en ander vanavond eens op mijn webserver zetten, en kijken of het dan wel werkt. Misschien zit er wel een probleem icm de debugger van Visual Studio...

Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com


Acties:
  • 0 Henk 'm!

  • Swerfer
  • Registratie: Mei 2003
  • Laatst online: 06-09 16:30
Ik heb even 2 voorbeelden op een tijdelijke website gezet (dus onderstaande links kunnen in de toekomst niet meer werken) waarbij de eerste link het event Loaded gebruikt, wat resulteerd in de tekst 'Cultuur' die in een halve seconden vergroot als de applicatie is geladen.

De tweede is met het event MouseEnter, waarbij er een fout ontstaat (hbij blijft hangen op 100%) en de fout wordt weergegeven in de statusbalk (IE < 9)

http://84.107.23.231/test/test2.html

http://84.107.23.231/test/test.html

Nou hoor ik graag van CodeIT of bijde tests bij hem wel werken...

edit:

Mouse.MouseEnter geeft al in Visual Studio een fout:

Type'Mouse' was not found.

[ Voor 7% gewijzigd door Swerfer op 24-11-2010 19:28 ]

Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com


  • CodeIT
  • Registratie: Juni 2002
  • Laatst online: 12-09 20:23

CodeIT

Code IT

Werkt bij mij ook niet. Duidelijk een verschil tussen WPF en Silverlight. In Silverlight is de UIElement.MouseEnter niet als routedevent gedefinieerd. Je zult dan het storyboard vanuit code moeten starten in de MouseEnter eventhandler.

  • Swerfer
  • Registratie: Mei 2003
  • Laatst online: 06-09 16:30
CodeIT schreef op donderdag 25 november 2010 @ 16:00:
Werkt bij mij ook niet. Duidelijk een verschil tussen WPF en Silverlight. In Silverlight is de UIElement.MouseEnter niet als routedevent gedefinieerd. Je zult dan het storyboard vanuit code moeten starten in de MouseEnter eventhandler.
Dat is dus het nadeel (of kleine bug) van Visual Studio, deze houd er geen rekening mee dat het een silverlight application is, en geeft dus geen foutmelding bij MouseEnter.

Ik heb het nu inderdaad met een eventhandler opgelost, en dat werkt prima.

Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com

Pagina: 1