2009-08-04 10 views
2

ich eine Silverlight-Steuerelement auf einer Seite, wo ich den Stil des Körpers ändern müssen = „hidden“, überzulaufen und dann den Stil zurückkehren Überlauf = „auto“Silverlight vs Überlauf = „hidden“

Immer wenn sich die Überlauf-Style-Eigenschaft ändert, startet die Silverlight-Steuerung neu und verliert alle Daten und Vorgänge in Bearbeitung !!!!

passiert in Firefox nicht Safari. Habe IE noch nicht probiert.

+0

Über welche Silverlight-Steuerung sprechen Sie? –

+0

Ich hinterfrage diese Frage - und Sie könnten versuchen, die Objekt-Tag (Silverlight 3) anstelle des System.Web.Silverlight-Steuerelement von SL2 verwenden. –

Antwort

1

Ich habe von Situationen in Firefox gehört (tatsächlich habe ich sie getroffen), wo das Silverlight-Plugin effektiv von Firefox neu gestartet wird. Mein Verständnis ist, dass es sehr wenig gibt, was getan werden kann, um die Situation zu umgehen.

Können Sie ein anderes Design in Betracht ziehen? Vielleicht können wir Ihnen dabei helfen, eine Problemumgehung zu finden, die Ihnen dabei hilft, das zu behalten, was Sie durchmachen, ohne das Problem mit dem Plugin.

0

Dies ist ein bekannter Fehler in Silverlight, eigentlich sagen die docs dies darüber:

Wegen Browser Unterschiede, die Silverlight-Plug-in nicht Überlauf der Cascading Style Sheets unterstützt (CSS) Eigenschaft auf dem Objekt Element oder auf einem übergeordneten Container Element, wie ein Div-Element.

Soweit ich weiß, die geschieht nur mit Firefox auf Mac und Windows. Andere Browser scheinen dieses Problem nicht zu haben.

Es gibt zwei klobige Problemumgehungen: Es scheint nur zu passieren, wenn die Überlaufeigenschaft durch eine Benutzeraktion wie mit einer :hover Pseudoklasse geändert wird. Wenn Sie den Browser zwingen, die Bildlaufleiste auszublenden, wird das Silverlight-Objekt nicht neu gestartet. Wenn Sie beispielsweise die height des div auf eine sehr große Höhe festlegen, verschwindet die Bildlaufleiste, aber das Objekt wird nicht neu gestartet.

Eine andere Problemumgehung, wenn Sie eine Bildlaufleiste benötigen, ist die Verwendung einer benutzerdefinierten JavaScript-Lösung. Ich empfehle das ausgezeichnete jScrollPane jQuery plugin.

Ich habe über ein paar andere Silverlight Macken (einschließlich dieser) auf meinem blog BTW gebloggt.