2012-08-23 19 views
0

我目前有一個RadGridView,我將其附加上下文菜單。我訂閱ItemClick事件並處理該方法中單擊的內容。這與RadControls for Silverlight Q2 2012正常工作,但在應用RadControls for Silverlight5 2012 2 0813修補程序後,功能部分中斷。在應用Telerik Q2修補程序後,無法單擊Telerik上下文菜單

我想要的功能仍然可以在瀏覽器中使用,但是當從瀏覽器(OOB)運行應用程序時,單擊任意位置或打開上下文菜單後(通過右鍵單擊GridView)按鍵盤上的鍵會導致上下文菜單關閉。點擊上下文菜單後,關閉的事件永遠不會被觸發,只有在上下文菜單之外單擊時纔會觸發。上下文菜單打開事件總是被擊中,但項目點擊事件僅在應用程序在瀏覽器中運行時觸發。

我能夠保持菜單打開並可點擊的唯一方法是將ContextMenu屬性StaysOpen設置爲true,但我不希望菜單保持打開狀態。我檢查了RadContextMenu的主題,它們在這兩個Telerik版本中看起來都一樣。

這裏是後面的代碼的一個例子(XAML包含1個gridview的名爲「網格」的):

public MainPage() { 
    InitializeComponent(); 
    RadContextMenu contextMenu = new RadContextMenu { FontSize = 10 }; 
    contextMenu.Opening += ContextMenuOpeningHandler; 
    contextMenu.ItemClick += ContextMenuItemClickHandler; 
    StyleManager.SetTheme(contextMenu, StyleManager.GetTheme(grid)); 
    RadContextMenu.SetContextMenu(grid, contextMenu); 
} 

private void ContextMenuItemClickHandler(object sender, RadRoutedEventArgs e) { 
    new RadWindow { Content = "Item Clicked!" }.ShowDialog(); 
} 

private void ContextMenuOpeningHandler(object sender, RadRoutedEventArgs e) { 
    RadContextMenu contextMenu = (RadContextMenu)sender; 
    contextMenu.IsEnabled = true; 
    contextMenu.Items.Clear(); 
    contextMenu.Items.Add(new RadMenuItem { Header = "item 1" }); 
    contextMenu.Items.Add(new RadMenuItem { Header = "item 2" }); 
} 

任何幫助或建議,將不勝感激。

感謝, 米莎

+0

如果你的代碼在以前版本的Telerik控件中工作正常,但是對控件的升級破壞了它,你最好在[Telerik forums]上尋求幫助(http://www.telerik.com/community/論壇/ silverlight.aspx)。 –

+0

我在論壇上發佈了我的問題(http://www.telerik.com/community/forums/silverlight/general-discussions/can-t-click-on-contextmenu-after-q2-hotfix-binaries.aspx) ,但也在這裏貼出來以防萬一 – Misha

回答

1

這個問題得到回答的Telerik Forums

我最終通過在網格中右鍵單擊時使用StaysOpen = True屬性手動修復此問題。然後我點擊一個項目手動關閉上下文菜單。

相關問題