In uno dei miei progetti WPF, ho integrato il controllo di WPF Toolkit AutoCompleteBox
. Ho bisogno di un custom Context Menu
per questo controllo e ne ho aggiunto uno usando la proprietà ContextMenu
. Sfortunatamente non mostra la creazione personalizzata ma mostra quella predefinita (es. Taglia, Copia, Incolla con Taglia & Copia come disabilitata).WpfToolkit AutoCompleteBox ContextMenu non funziona
Per ricreare il problema, ho creato un progetto di esempio e la finestra contiene 2 controlli all'interno di Grid
.
<Grid>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<toolkit:AutoCompleteBox>
<toolkit:AutoCompleteBox.ContextMenu>
<ContextMenu>
<MenuItem Header="Menu Item 1"></MenuItem>
<MenuItem Header="Menu Item 2"></MenuItem>
</ContextMenu>
</toolkit:AutoCompleteBox.ContextMenu>
</toolkit:AutoCompleteBox>
<TextBox Grid.Row="1" >
<TextBox.ContextMenu>
<ContextMenu>
<MenuItem Header="Menu Item 1"></MenuItem>
<MenuItem Header="Menu Item 2"></MenuItem>
</ContextMenu>
</TextBox.ContextMenu>
</TextBox>
</Grid>
I due comandi hanno lo stesso ContextMenu
e se corro la soluzione, posso vedere che la consuetudine ha creato ContextMenu
sta lavorando per TextBox
e non per AutoCompleteBox
.
Inoltre, ho impostato lo stesso menu di scelta rapida su Griglia (controllo padre) e impostato ContextMenu="{x:Null}"
su TextBox & AutoCompleteBox
. Ora il ContextMenu
viene ereditato per TextBox
ma non per AutoCompleteBox
.
Quindi la mia domanda è, come posso creare un ContextMenu
personalizzato per AutoCompleteBox? Se non è di progettazione (AutoCompleteBox
), come è possibile aggiungere un ContextMenu
a un controllo AutoCompleteBox personalizzato che è ereditato da AutoCompleteBox
. Si prega di consulenza.
Cosa vuoi nel tuo menu contestuale? Da quello che sto vedendo sta ereditando i Comandi dal TextBox. Forse dovresti implementare il tuo. – Tico
@Dennis - Hai provato la mia risposta? Non risolve il tuo problema? –