好吧,這是問題。我有一個基本的網站,它有按鈕。這些按鈕通過javascript運行,然後代碼用C#執行,然後用Silverlight甘特圖控件執行各種操作。全屏Silverlight通過JavaScript
例如,如果我要縮小甘特控制我是這樣的:
<button id="zoomIn" onclick="SlZoomIn()">Zoom In</button>
然後在javascript:
function SlZoomIn() {
var control = document.getElementById("SilverlightPlugIn");
control.Content.SilverPlan.JsZoomIn();
}
然後在C#:
[ScriptableMember]
public void JsZoomIn()
{
try
{
gantt.ZoomBySteps(1);
}
catch (Exception e)
{
MessageBox.Show("Zoom In does not work.");
}
}
這所有的工作都很好,但是當我想要使用需要事件的甘特圖進行操作時,這是一個問題。例如,如果我想打印或全屏顯示我的甘特圖控制。我怎樣才能做到這一點?
在C#中的代碼,這就是:
private void fullScreen(object sender, RoutedEventArgs e)
{
Application.Current.Host.Content.IsFullScreen = !Application.Current.Host.Content.IsFullScreen;
}
但是我必須在JavaScript做觸發這個方法?當用戶點擊全屏按鈕時?
感謝您的答覆。我知道這是不可能的HTML全屏。這不是問題,因爲這只是一個演示。它將在未來整合到其他地方。怎麼樣「打印」或「導出」(保存文件對話框)。這可以像這樣完成,還是必須在Silverlight組件中完成?我知道有一些安全限制,但不會傷害問,如果你知道我的意思:) – Some1 2012-04-23 22:11:56
再次保存文件對話框,將適用相同的限制。對於打印和打開文件,您可以在某種程度上從JavaScript執行此操作(就好像您根本不使用SL,但將數據傳遞給SL),但工作量相當大,而且效果不佳。而且我不確定是否可以從JS保存文件。 – 2012-04-24 07:23:27
好的謝謝!我會把按鈕放在SL控制器上,它會工作得很好。 – Some1 2012-04-24 11:44:19