我目前有一個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" });
}
任何幫助或建議,將不勝感激。
感謝, 米莎
如果你的代碼在以前版本的Telerik控件中工作正常,但是對控件的升級破壞了它,你最好在[Telerik forums]上尋求幫助(http://www.telerik.com/community/論壇/ silverlight.aspx)。 –
我在論壇上發佈了我的問題(http://www.telerik.com/community/forums/silverlight/general-discussions/can-t-click-on-contextmenu-after-q2-hotfix-binaries.aspx) ,但也在這裏貼出來以防萬一 – Misha