Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-03-2015, 16:32   #1
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
[WPF] UserControl: usare gli elementi definito in un altro UserControl

Ciao a tutit,
nella mia applicazione ho incluso un UserControl "B" in un UserControl "A".... so, I vorrei richiamare il datagrid "dgPlan" definito in UserControl "A" dall'UserControl "B".

Come faccio a richiamarlo?

Grazie.
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2015, 16:39   #2
[Kendall]
Senior Member
 
L'Avatar di [Kendall]
 
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
Quote:
Originariamente inviato da robertino_salemi Guarda i messaggi
Ciao a tutit,
nella mia applicazione ho incluso un UserControl "B" in un UserControl "A".... so, I vorrei richiamare il datagrid "dgPlan" definito in UserControl "A" dall'UserControl "B".

Come faccio a richiamarlo?

Grazie.
Definisci "richiamarlo".
Posta anche il codice xaml e il listato c# dei due componenti, così riusciamo ad aiutarti meglio.
[Kendall] è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2015, 23:12   #3
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
Ok, domani lo posto.

Dovrei semplicemente richiamare il DataGrid dell'userControl A nell'UserControl B al fine di aggiornare i dati da visualizzare.

Grazie.
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 12-03-2015, 09:12   #4
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
Buongiorno,
ecco i miei due UserControl.

UserControlA
Codice:
<UserControl x:Class="MyProject.Views.UserControlA"
             x:Name="UserControlUserControlA"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:mui="http://firstfloorsoftware.com/ModernUI"             
             xmlns:sys="clr-namespace:System;assembly=mscorlib"
             xmlns:staticData="clr-namespace:MyProject.Views"
             mc:Ignorable="d" 
             d:DesignHeight="381" d:DesignWidth="1200" Unloaded="UserControl_Unloaded">    
    
        <StackPanel Grid.Row="1">
            <ScrollViewer>
                <staticData:UserControlB />
            </ScrollViewer>
        </StackPanel>
		
		<DataGrid Name="dgSample" ItemsSource="{Binding}" AutoGenerateColumns="False"
                    AlternatingRowBackground="{StaticResource RowAlternateColorBackground}"
                    GridLinesVisibility="All" VerticalGridLinesBrush="{StaticResource GridLineColor}"
                    HorizontalGridLinesBrush="{StaticResource GridLineColor}"
                    IsReadOnly="False" CanUserAddRows="False">
					[MY_COLUMNS]
		</DataGrid>
		
</UserControl>

UserControlB
Codice:
<UserControl x:Class="MyProject.Views.UserControlB"
             x:Name="UserControlUserControlB"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:mui="http://firstfloorsoftware.com/ModernUI"             
             xmlns:sys="clr-namespace:System;assembly=mscorlib"
             xmlns:staticData="clr-namespace:MyProject.Views"
             mc:Ignorable="d"
             d:DesignHeight="381" d:DesignWidth="1200">

	[MY_CONTENT]
	<!-- Search Button -->
	<Button Margin="15,0,0,0" Name="bntSearch" Content="{StaticResource menuSeachButton}" Click="bntSearch_Click"></Button>

    </Grid>
</UserControl>
dgPlan è il DataGrid in UserControlA.

Quando l'utente esegui il click su bntSearch button in UserControlB, dgPlan deve essere aggiornata con i nuovi dati...

Grazie.
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
Old 12-03-2015, 11:54   #5
robertino_salemi
Senior Member
 
L'Avatar di robertino_salemi
 
Iscritto dal: Apr 2009
Città: Aci Catena (CT)
Messaggi: 1021
Risolto grazie ad un utente:
nel mio UserControlA:
Codice:
public void RefreshDataGrid(IEnumerable itemsSource)
{
	dgPlan.ItemsSource = itemsSource;
}
nel mio UserControlB:
Codice:
void bntSearch_Click(object sender, RoutedEventArgs e)
{
            MyProject.Views.UserControlA uc = FindParent<MyProject.Views.UserControlA>(this);

            if (uc != null)
            {
                uc.RefreshDataGrid(myCollection);
            }
}

private static T FindParent<T>(DependencyObject dependencyObject) where T : DependencyObject
{
            var parent = VisualTreeHelper.GetParent(dependencyObject);

            if (parent == null) return null;

            var parentT = parent as T;
            return parentT ?? FindParent<T>(parent);
}
Grazie!
robertino_salemi è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
La crisi delle memorie colpisce il Trump...
iPhone 18 Pro e Pro Max, svelata la capa...
Dreame L50 Ultra AE a 499€ (invece di 59...
Problemi di gioventù per i Pixel 11: Goo...
Le app di dating potrebbero aver stufato...
Il successo di iPhone Duo rappresentereb...
Cartello sull'IA? L'accusa durissima con...
L'IA sempre più protagonista nei videogi...
Revolut ha consegnato passaporti e selfi...
Office 2021, 3 anni di aggiornamenti di ...
Dopo 23 anni di silenzio, Warcraft 3 spi...
Roblox sfida l'ecosistema gaming: app st...
OpenAI accusata di plagio dai migliori m...
Altro attacco hacker dell'IA: gli agenti...
Stiamo davvero perdendo il controllo del...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:42.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v