Attivare controlli sotto l'Expander in WPF
-
lunedì 30 luglio 2012 18:32
Buonasera a tutti,
ho la necessità di utilizzare un expander per visualizzare/nascondere una lista.
Facendo delle prove con questo codice:
<Window x:Class="MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Grid> <Button Content="Button" Height="110" HorizontalAlignment="Left" Margin="101,64,0,0" Name="Button1" VerticalAlignment="Top" Width="182" /> <CheckBox Content="CheckBox" Height="25" HorizontalAlignment="Left" Margin="322,71,0,0" Name="CheckBox1" VerticalAlignment="Top" Width="95" /> <Button Height="38" HorizontalAlignment="Left" Margin="326,117,0,0" Name="Image1" VerticalAlignment="Top" Width="94" /> <Expander Header="Expander1" Height="159" HorizontalAlignment="Left" Margin="317,41,0,0" Name="Expander1" VerticalAlignment="Top" Width="136" IsExpanded="False"> <Grid> <DataGrid AutoGenerateColumns="False" Height="124" HorizontalAlignment="Left" Margin="11,7,0,0" Name="DataGrid1" VerticalAlignment="Top" Width="118" /> </Grid> </Expander> </Grid> </Window>Ho notato che i controlli sotto l'expander restano disattivi. Come si attivano? Non ho trovato nulla nelle proprietà.
Grazie anticipatamente e buona serata.
Piero Sbressa
Tutte le risposte
-
lunedì 30 luglio 2012 21:21
Ciao Piero,
il fatto è che i controlli non sono disattivati ma è il contenuto dell'expander ad essere posto sopra a tali controlli, così facendo a ricevere le tue "azioni" non sono effettivamente la checkbox CheckBox1 o il button Image1 come si potrebbe pensare dalla UI.
Per confermare quanto ti ho detto puoi provare a spostare l'expander in un altra posizione tale per cui il suo contenuto non copra gli altri controlli e verificare dunque che la checkbox e il button non sono disattivati.
Spero di esserti stato utile,
Buona serata,
Andrea
-
martedì 31 luglio 2012 06:58
Ti ringrazio Andrea per la risposta.
Si in effetti checkbox e button in altra posizione sono cliccabili. Esiste però qualche controllo o usercontrol che cliccando in quella posizione mi metta la Datagrid senza che siano disattivati i controlli che stanno sotto? Credevo di poter usare così l'Expander, ma evidentemente mi sbaglio. Oppure ci metto un pulsante in quella posizione il quale aprirà poi una nuova window con la datagrid, se non esiste altro?
Grazie ancora e buona giornata.
Piero.
-
martedì 31 luglio 2012 07:46
Prova ad impostare sui controlli sottostanti la proprietà Panel.ZIndex e forse risolvi.
Per quanto riguarda la parte " Credevo di poter usare così l'Expander " : io non ho mai usato l'expander a stile drop down list in quando "non credo" ( e sottolineo "non credo" ) che il suo scopo sia quello.
"Oppure ci metto un pulsante in quella posizione il quale aprirà poi una nuova window con la datagrid, se non esiste altro?" potrebbe essere una soluzione se è congegnale a quanto devi realizzare, altrimenti fossi in test studierei per bene l'utilizzo di WPF e cercherei qualche controllo che faccia quello che vorresti facesse l'expander!!
Ciao,
Andrea
- Proposto come risposta pierosbressa martedì 31 luglio 2012 11:22
- Contrassegnato come risposta Piero Sbressa martedì 31 luglio 2012 11:32
-
martedì 31 luglio 2012 11:21
Grazie ancora, Andrea.
Se l'Expander non serve a quello userò qualche altra soluzione, magari con un animazione che aumenterà il Height della Datagrid oppure semplicemente con un pulsante che aprirà una nuova Window. Vedrò col cliente, cosa vorrà lui.
Grazie ancora e buona giornata.
Piero.
- Contrassegnato come risposta Piero Sbressa martedì 31 luglio 2012 11:32
- Contrassegno come risposta annullato Piero Sbressa martedì 31 luglio 2012 11:32

