IComponentConnector Interfaccia
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fornisce il supporto dell'infrastruttura per il cablaggio degli eventi e le azioni di compilazione.
public interface class IComponentConnector
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.Guid(2906658834, 45201, 20944, 185, 21, 45, 104, 44, 210, 175, 16)]
struct IComponentConnector
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.Guid(2906658834, 45201, 20944, 185, 21, 45, 104, 44, 210, 175, 16)]
public interface IComponentConnector
Public Interface IComponentConnector
- Attributi
Esempio
Il codice generato da Microsoft Visual Studio per IComponentConnector che parallela allo scenario "button1" descritto in precedenza potrebbe essere simile al seguente:
partial class MainPage : Windows.UI.Xaml.Controls.Page, IComponentConnector
{
[System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Windows.UI.Xaml.Build.Tasks"," 4.0.0.0")]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
public void Connect(int connectionId, object target)
{
switch(connectionId)
{
case 1:
#line 21 "..\..\MainPage.xaml"
((Windows.UI.Xaml.Controls.Primitives.ButtonBase)(target)).Click += this.button1_Click_1;
#line default
#line hidden
break;
}
this._contentLoaded = true;
}
}
Commenti
A meno che non si estendano sostanzialmente le funzionalità di un framework XAML o di strumenti di progettazione XAML, probabilmente non sarà necessario generare o implementare IComponentConnector. La parte restante delle note qui è destinata a orientarti allo scopo di IComponentConnector nel modello di app basata su applicazione e spiegare il ruolo di IComponentConnector nel codice generato creato dall'infrastruttura di Microsoft Visual Studio come parte di un tipico progetto XAML.
Per impostazione predefinita, quando aggiungi una pagina XAML a un progetto di app UWP in Microsoft Visual Studio, la relativa proprietà BuildAction è Page. Quando si compila il progetto, vengono elaborati tutti gli elementi del progetto con tale azione di compilazione e vengono generati file di codice corrispondenti alla scelta del linguaggio di programmazione del progetto. I file di codice generati contengono tutti la stringa ".g" nel nome e possono essere osservati nella cartella obj del progetto dopo la compilazione. I file generati implementano una parte della definizione di classe parziale usata dal modello di app basata su applicazione per connettere xaml e aspetti del codice di una definizione di app. Il processo di generazione di classi parziali da XAML viene talvolta definito compilazione di markup.
Ogni elemento in XAML con un nome XAML (attributo x:Name o attributo Name applicato) o un gestore eventi dichiarato genera una chiamata a IComponentConnector.Connect all'interno del file di codice generato. Il codice dell'infrastruttura per le azioni di compilazione XAML definisce quindi i campi che corrispondono ai nomi degli elementi. Se il cablaggio degli eventi viene eseguito in XAML, le azioni di compilazione associano i gestori eventi alle istanze create da XAML. I campi forniscono il punto di accesso che il codice dell'app e il codice dell'infrastruttura possono usare per fare riferimento all'oggetto creato in seguito all'analisi del codice XAML.
Ad esempio, se è presente un elemento XAML per un button denominato "button1" nel file XAML e ha un attributo per l'evento Click che fa riferimento a un metodo gestore denominato, Microsoft Visual Studio genererà automaticamente un'implementazione del metodo Connect dall'interfaccia IComponentConnector. Il parametro connectionId è un token di identificatore per distinguere le chiamate e il parametro di destinazione è la destinazione a cui connettere eventi e nomi.
Metodi
Connect(Int32, Object) |
Associa eventi e nomi al contenuto avviato da XAML. |
GetBindingConnector(Int32, Object) |
Recupera IComponentConnector per questa connessione. |