macabre_sunsets Δημοσ. 9 Αυγούστου 2010 Δημοσ. 9 Αυγούστου 2010 Έχω τον ακόλουθο κώδικα: ><UserControl.Resources> <ResourceDictionary> <RoutedUICommand x:Key="PlaceInCenter" /> <ContextMenu x:Key="Menu"> <MenuItem Header="Place in center" Command="{StaticResource PlaceInCenter}" /> </ContextMenu> </ResourceDictionary> </UserControl.Resources> <UserControl.CommandBindings> <CommandBinding Command="{StaticResource PlaceInCenter}" Executed="command_PlaceInCenter" /> </UserControl.CommandBindings> ο οποίος δημιουργεί ένα context menu που εμφανίζεται με δεξί click πάνω σε ένα user control που έχω φτιάξει. Επειδή προσθέτω δυναμικά το user control στην φόρμα μου και για κάθε ένα control που προσθέτω κάνω το ακόλουθο: >Control.ContextMenu = (ContextMenu)this.FindResource("Menu"); Έτσι όταν κάνω δεξι click στο control μου εμφανίζεται το menu αλλά όλες οι επιλογές είναι απενεργοποιημένες. Γιατί γίνεται αυτό? Πώς ενεργοποιούνται? Καμια ιδέα? Για την κάθε εντολή έχω το αντίστοιχο ακόλουθο κομμάτι κώδικα: >private void command_PlaceInCenter(object sender, ExecutedRoutedEventArgs e) { e.Handled = true; }
amadeus1eu Δημοσ. 1 Νοεμβρίου 2010 Δημοσ. 1 Νοεμβρίου 2010 Στο XAML, πρόσθεσε ο, τι βλέπεις με έντονους χαρακτήρες: > <UserControl.CommandBindings> <CommandBinding Command="{StaticResource PlaceInCenter}" Executed="command_PlaceInCenter" [b]CanExecute="command_PlaceInCenter_CanExecute"[/b] /> </UserControl.CommandBindings> Στον κώδικα: > ... private void command_PlaceInCenter_CanExecute( object sender, CanExecuteRoutedEventArgs e ) { // Check your conditions, if any. e.CanExecute = true; } ...
macabre_sunsets Δημοσ. 1 Νοεμβρίου 2010 Μέλος Δημοσ. 1 Νοεμβρίου 2010 Ευχαριστώ για την απάντησή σου και ας είναι σχεδόν 3 μήνες μετά. Νομίζω πως ακόμα και με αυτό που παρέθεσες το πρόβλημα παρέμενε. Αυτό οφειλόταν σε ένα bug από ότι διάβαζα, το οποίο έκανε τα Context Menu disable άμα το τάδε control δεν είχε το focus. Το πρόβλημα το έλυσα με άλλο τρόπο (τον οποίο δεν θυμάμαι τώρα ακριβώς - έβαλα το context menu σε άλλο σημείο στο xaml ή κάτι τέτοιο).
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.