Я создал простую приложение silverlight для отображения некоторого текста в реальном времени из xml. Текстовый дисплей с использованием тега HTML DIV. Я добавил свойство plugin windowless = true, enablehtmlaccess = true, background = transparent.Windowsless свойство не работает в Firefox ТОЛЬКО
В Silverlight я добавил кнопку «Продолжить» наверх & Нижняя часть, на которой отображается сообщение.
Изменение размера плагина Silverlight на основе содержимого XML.
Мой код:
MainPage.xaml:
<Grid x:Name="LayoutRoot">
<StackPanel HorizontalAlignment="Right" VerticalAlignment="Top">
<Button x:Name="topContinue" Content="Continue" Margin="0,30,30,0" Click="Continue_Click"></Button>
</StackPanel>
<StackPanel HorizontalAlignment="Right" VerticalAlignment="Bottom">
<Button x:Name="bottomContinue" Content="Continue" Margin="0,0,30,30" Click="Continue_Click"></Button>
</StackPanel>
</Grid>
MainPage.xaml.cs:
Создание HTML DIV при запуске приложения с помощью:
HtmlDocument _document = HtmlPage.Document;
HtmlElement iDIV = _document.CreateElement("DIV");
iDIV.SetAttribute("id", "divHTMLViewer");
iDIV.SetStyleAttribute("position", "absolute");
iDIV.SetStyleAttribute("z-index", "1");
iDIV.SetStyleAttribute("display", "INLINE");
iDIV.SetStyleAttribute("top", "100px");
iDIV.SetStyleAttribute("height", "0px");
iDIV.SetStyleAttribute("width", "96%");
iDIV.SetStyleAttribute("left", "15px");
iDIV.SetStyleAttribute("text-align", "justify");
HtmlElement body = _document.GetElementsByTagName("BODY")[0] as HtmlElement;
body.RemoveChild(iDIV);
body.AppendChild(iDIV);
Установите текст XML:
HtmlElement divHTMLViewer = HtmlPage.Document.GetElementById("divHTMLViewer");
sText = sText.Replace("<", "<").Replace(">", ">");
divHTMLViewer.SetStyleAttribute("display", "none");
divHTMLViewer.SetStyleAttribute("width", "96%");
divHTMLViewer.SetStyleAttribute("top", "100px");
divHTMLViewer.SetStyleAttribute("left", "15px");
divHTMLViewer.RemoveStyleAttribute("color");
divHTMLViewer.RemoveStyleAttribute("fontSize");
divHTMLViewer.SetProperty("innerHTML", sText);
divHTMLViewer.SetStyleAttribute("display", "INLINE");
setSilverlightControlHeight(UILAYOUT.INSTRUCTIONS);
Silverlight Plugin увеличить размер кода:
isilverlightControlHost.SetStyleAttribute("height", HtmlPage.Window.Eval("document.documentElement.scrollHeight").ToString() + "px");
isilverlightControlHost.SetStyleAttribute("position", "absolute");
Все это код работает отлично в Internet Explorer, CROME & Safari, но "Continue" не видимый только в FIREFOX.
В чем проблема с этим кодом?
Пример кода: http://lm-bucket-for-forum-post.s3.amazonaws.com/HtMLViewerSilverLight.zip
работает образец: Просто замените ".zip" с "TestPage.html" в URL выше.
Пожалуйста, дайте мне знать, как я могу его решить?
Спасибо заранее, Laxmilal Menaria
Добро пожаловать в SO, пожалуйста, уделите несколько минут, чтобы прочитать FAQ и документацию Markdown (полезный synposis, который доступен в правом поле при редактировании вопроса). – AnthonyWJones