my.ASPItalia.com
ASP.NET
|
HTML5
|
LINQ e Entity Framework
|
Silverlight
|
Windows Phone
|
.NET Framework
|
Windows 8
|
Libro WP7
|
Libro HTML5
|
Corso HTML5
Iscriviti
Login
Newsletter
Home
Articoli
Script
Notizie
FORUM
Blogs
Media
Tutorials
Corsi
Libri
Eventi
Tags
Tutti i forum
Ricerca
FAQ
Fai una domanda
treeView c# wpf
in
.NET Framework
>
Windows Presentation Foundation e WinForms
Ultimo messaggio
fabiomiceli
il 4 gennaio alle 21:24
3 messaggi
dal 04 gennaio 2012
ciao Ragazzi
mi sono appena iscritto in questo Forum,
sto disegnando un' app in c# WPF e mi sono inceppato in un piccolo problema:
in pratica ho un treeView con Hierarchical dentro una ComboBox inizializzato con con tre tabelle di EDM relazionate tra loro (rispettivamente Master>Details>SubDetails , e non riesco a trovare il codice corretto per estrapolare i valori da SelectedItem
ho provato con questo codice:
var Oggetto = ((Master)(sender as ComboBox).SelectedItem).Oggetto;
var Details = ((Details)(sender as ComboBox).SelectedItem).DescrizioneDetails
var SubDetails = ((SubDetails)(sender as ComboBox).SelectedItem).DescrizioneSubDetalils;
la prima riga(Master) restituisce il valore correttamente, ma le altre due mi danno errore
qualcuno saprebbe dirmi dove sbaglio ?
Rispondi
Quoting
dakyn77
il 5 gennaio alle 11:47
108 messaggi
dal 09 novembre 2005
Ehm...
andiamo per gradi, stai usando il pattern MVVM, immagino giusto?
Rispondi
Quoting
fabiomiceli
il 5 gennaio alle 12:29
3 messaggi
dal 04 gennaio 2012
esatto...
praticamente devo assegnare i valori di TreeView.selecteditem al selectedItem di DataGrid
Modificato da fabiomiceli
il 05 gennaio 2012 12.31 -
Rispondi
Quoting
dakyn77
il 5 gennaio alle 12:49
108 messaggi
dal 09 novembre 2005
Se ho capito bene...
Hai una struttura a 3 livelli:
Master che ha una property Detalis, ogni Detail ha un property SubDetail.
Nel ViewModel dovresti avere 3 property: MasterSelezionato, DetailSelezionato, SubDetailSelezionato, queste 3 property le metti come SelectedItem={Binding XXXXXX, Mode=TwoWay} all'interno della struttura Hierarchical.
In questo modo hai distintamente le 3 selezioni dei 3 livelli.
In base a quale livello é a null, dovresti dedurre come inizializzare la DataGrid, ma non il SelectedItem, ma l'ItemSource.
Spero sia chiara la mia idea, e che ti serva proprio questo.
Rispondi
Quoting
fabiomiceli
il 5 gennaio alle 13:16
3 messaggi
dal 04 gennaio 2012
scusami ma non ho capito bene...
il treewiew e questo:
<TreeView FontSize="13" Name="tree" Grid.Column="0" Margin="5" ItemsSource="{Binding}" >
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Details}" >
<StackPanel>
<TextBlock Text="{Binding Path=Oggetto}" FontSize="13" FontWeight="Bold"/>
<TextBlock Height="5" Text=" " />
<StackPanel Orientation="Horizontal">
<TextBlock FontSize="13" Text="Data: " FontWeight="Bold" Margin="10,0,0,0" />
<TextBlock FontSize="13" Foreground="Blue" Text="{Binding Data, ConverterCulture=it-IT, StringFormat='{}{0:dd MMMM, yyyy}'}"/>
</StackPanel>
</StackPanel>
<HierarchicalDataTemplate.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding SubDetails}">
<StackPanel>
<Border BorderBrush="Silver" BorderThickness="1" Height="50" Width="300" HorizontalAlignment="Left" Margin="10,10,10,10" Name="border1" VerticalAlignment="Top" CornerRadius="5,5,5,5" >
<Grid>
<TextBlock FontSize="13" Margin="5,5,0,0" Text="{Binding Path=Descrizione}"/>
</Grid>
</Border>
</StackPanel>
</HierarchicalDataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
cui inizializzo con il DataContext della Window..
Datacontext = MyContext.Master;
il DataGrid (dove devo passare i valori di TreeView.SelectedItem) invece è bindato con un'altra tabella del DB che non è relazionata con Master
ma ha tre campi con nome uguale a quelle di Master.Oggetto, Details.Descrizione e SubDetails.Descrizione......
la Window di TreeView la lancio dalla Window di DataGrid
Rispondi
Quoting
Salto rapido
Ultimi messaggi
Tutti i forum
Ricerca
Utenti online
ASP.NET
ASP.NET 2.0
ASP.NET 3.5
ASP.NET 4.0
.NET Framework
Silverlight
Windows Phone
Windows Presentation Foundation e WinForms
Windows Communication e Workflow
ASP - avanzato
ASP - base
SQL Server e MySQL
E-commerce
Hosting
Altri linguaggi e tecnologie
Windows Server, IIS & Security
Libri
OT
Commenti: blogs e notizie
Eventi
Torna al forum
| Feed
RSS
ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Effettua il login!
Hai dimenticato la password?
Ultimi messaggi
Ordinamento Colonne Datagridview
(2)
metodo process per stampare più copie.
(2)
Attivare una PageFunction
(1)
UTENTI ONLINE
In primo piano
Annunciate le versioni ufficiali di Visual Studio 11
Rilasciato Visual Studio 11 Beta: scopri tutte le novità!
Windows 8 Consumer Preview: segui con noi la diretta
I più letti di oggi
Sviluppare applicazioni web mobile con HTML5 e jQuery mobile
Applicazioni Metro con XAML: cosa cambia per lo sviluppatore .NET con Windows 8
Introduzione a LINQ, LINQ to XML, Object e DataSet
Screencast 'Primi passi con Windows Workflow Foundation'
Metro Style App per Windows 8 con HTML e Javascript
WhyMCA - Bologna
Migliorare le prestazioni di Entity Framework limitando l'uso del metodo Include
Windows Phone 7.5 Developer Day: Introduzione allo sviluppo
Annunciate le versioni ufficiali di Visual Studio 11
Media
Sviluppare applicazioni web mobile con HTML5 e jQuery mobile
Metro Style App per Windows 8 con HTML e Javascript
Tutti i media
In evidenza
Il meglio della settimana
Dal 29 febbraio arriva WinRTItalia.com: tutto sullo sviluppo per Windows 8 e Metro
Migliorare le prestazioni di Entity Framework limitando l'uso del metodo Include
Aprire una popup in Silverlight
Sviluppare applicazioni web mobile con HTML5 e jQuery mobile
Disegnare un'applicazione a servizi con Entity Framework e WCF
Il nuovo tag time in HTML5
Salvare e leggere rapidamente le impostazioni di un'applicazione Windows Phone
MISC
I nostri autori
Collabora con noi!
Media Kit - Pubblicità sul nostro network