[SL] Problème Iframe et scrollbar navigateur
Bonjour,
Dans une appli Silverlight, j'affiche une Iframe.
Cette Iframe débordant de la fenêtre du navigateur, une barre verticale de scrolling et ajoutée. Or dans mon appli SL, j'ai déjà déclarer un ScrollViewer. Du coups, je me retrouve avec deux barres de scrolling sur le coté droit (à l'exception d'IE).
Pour le bon fonctionement de mon appli, je souhaiterai le comportement suivant:
- lorsque j'affiche l'Iframe, le ScrollViewer de SL disparaisse et laisse la place à la scrollbar du navigateur.
-lorsque je cache cette Iframe, la scrollbar du navigateur disparaisse et laisse la place au scrollviewerSL.
Notez que je ne parle pas du scrollbar propre à l'Iframe qui apparait lorsque la source dépasse de son container, mais de la scrollbar native du navigateur.
Est-ce possible de faire cela?
En espérant avoir été clair, je vous remercie de toute aide ou conseil.
Au cas ou:
-code de mon Iframe dans l'html:
Code:
<iframe id='maframe' scrolling="no" frameborder="0" style='visibility:hidden;height:0;width:0;border:0px;position:absolute'></iframe>
-code permettant la modif de l'Iframe dans le behind:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| private void Button_Click(object sender, RoutedEventArgs e)
{
var f = HtmlPage.Document.GetElementById("maframe");
if (f != null)
{
if (f.GetStyleAttribute("visibility") == "visible")
{
f.SetStyleAttribute("visibility", "hidden");
}
else
{
GeneralTransform gt = this.Container.TransformToVisual(Application.Current.RootVisual as UIElement);
Point topleft = gt.Transform(new Point(0, 0));
int controlTop = (int)topleft.Y;
int controlLeft = (int)topleft.X;
if (f != null)
{
f.SetStyleAttribute("left", controlLeft.ToString() + "px");
f.SetStyleAttribute("top", controlTop.ToString() + "px");
f.SetStyleAttribute("visibility", "visible");
f.SetStyleAttribute("width", this.Container.ActualWidth.ToString() + "px");
f.SetStyleAttribute("height", this.Container.ActualHeight.ToString() + "px");
}
f.SetAttribute("src", "http://www.MonSiteFrame.com");
}
}
} |