我們在Kiosk類型的場景中使用silverlight。有沒有辦法禁用右鍵單擊功能進入silverlight配置對話框?在Silverlight中禁用右鍵點擊
回答
//在SharePoint中我添加了一個小代碼來告訴SP在加載每個零件後運行腳本。工程就像一個魅力:)
//編輯
或更好,但Silverlight的論壇建議你這樣做: Silverlight Forum
<div id="silverlightObjDiv">
<!-- silverlight object here -->
</div>
<script>
_spBodyOnLoadFunctionNames.push ('setupElement');
function setupElement()
{
document.getElementById('silverlightObjDiv').oncontextmenu = disableRightClick;
}
function disableRightClick(e) {
if (!e) e = window.event;
if (e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false;
}
}
</script>
在Silverlight 4中,你可以做它在C#中,不亂搞並依賴於任何HTML。
下面的示例顯示瞭如何實現右鍵單擊以實際由控件使用,但是如果只想禁用,則只需創建clicktrap即可。
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
// wire up the event handlers for the event on a particular UIElement
ChangingRectangle.MouseRightButtonDown += new MouseButtonEventHandler(RectangleContextDown);
ChangingRectangle.MouseRightButtonUp += new MouseButtonEventHandler(RectangleContextUp);
}
void RectangleContextUp(object sender, MouseButtonEventArgs e)
{
// create custom context menu control and show it.
ColorChangeContextMenu contextMenu = new ColorChangeContextMenu(ChangingRectangle);
contextMenu.Show(e.GetPosition(LayoutRoot));
}
void RectangleContextDown(object sender, MouseButtonEventArgs e)
{
// handle the event so the default context menu is hidden
e.Handled = true;
}
}
謝謝dain,這是一個更好的答案imo - 參考「ChangingRectangle」是x:MainPage.xaml所討論的控件的名稱 – ghchinoy 2012-08-13 17:42:25
至於戴恩所提到的,在Silverlight 4,你可以做到這一點很容易:
使控制窗戶:
<param name="windowless" value="true" />
陷阱右鍵在你的根網格/佈局控件中:
public MainPage()
{
LayoutRoot.MouseRightButtonDown += (s, e) => { e.Handled = true; };
}
漁獲
在Firefox和Chrome,你必須有一個上下文菜單或有鼠標滾輪滾動功能之間進行選擇。可悲的是你不能同時擁有這兩個,希望這會改變在Silverlight 5中。
控件是否必須是無窗口的? – 2011-01-24 14:33:00
- 1. 右鍵點擊在Silverlight
- 2. Highslide禁用右鍵點擊
- 3. 在CkEditor 4.3中禁用右鍵點擊
- 4. 禁用在網站的右鍵點擊
- 5. 禁用在組合框中右鍵單擊「Silverlight」彈出框
- 6. 禁用js和css的右鍵點擊
- 7. 禁用網頁上點擊右鍵
- 8. 在fancybox中禁用右鍵單擊
- 9. 在javascript中禁用右鍵單擊
- 10. 在DataGridView中禁用右鍵單擊ContextMenuStrip
- 11. 在React.JS中禁用右鍵單擊
- 12. 禁用Featherlight.js右鍵單擊
- 13. 禁用右鍵單擊wpf
- 14. Fancybox:禁用右鍵單擊
- 15. NivoSlider - 禁用右鍵單擊
- 16. 在ClojureScript中點擊右鍵?
- 17. 禁用在閃亮的應用程序中右鍵點擊
- 18. 如何禁用使用Silverlight的HTML頁面上右鍵單擊?
- 19. 在asp.net圖表中禁用右鍵點擊選項
- 20. 右鍵點擊jquery
- 21. 右鍵點擊JButton
- 22. 右鍵點擊QPushButton
- 23. 右鍵點擊JFreeChart
- 24. 禁用行選擇的jqGrid中右鍵點擊
- 25. 如何禁用在IFRAME上點擊右鍵
- 26. 需要禁用右鍵點擊「上下文菜單」,並右鍵點擊調用函數
- 27. 禁用右鍵單擊使用MVVM
- 28. 禁用Silverlight中的html查看器中的右鍵單擊選項
- 29. JavaScript來禁用右鍵點擊該幀選擇,而在框架上單擊右鍵在Firefox
- 30. 禁用右鍵單擊windows ce
天才!謝謝。 – Jeremy 2009-02-10 18:34:22