2012-07-30 15 views
5

ho creato un mycustomItemsPanel in App.ResourcesQual è la differenza tra l'utilizzo di "Binding con StaticResource" e con "StaticResource direttamente" in WPF

<Application.Resources> 
    <ItemsPanelTemplate x:Key="mycustomItemsPanel"> 
     .... Some code here 
    </ItemsPanelTemplate> 
</Application.Resources> 

e di fornire ad un UIControl questo modo

<.... ItemsPanel="{StaticResource mycustomItemsPanel}" /> 

Ma sono venuto a sapere che questo può essere fornito come

<.... ItemsPanel="Binding Source={StaticResource mycustomItemsPanel}}" /> 

Qual è la differenza tra questi?

risposta

2

Per prima cosa il legame potrà solo su dependency properties, un altro sarebbe che alcuni oggetti comportano in modo diverso quando viene assegnato come Binding.Source, cioè DataSourceProviders.

classe base comune e contratto per DataSourceProvider oggetti, che sono le fabbriche che eseguono alcune query per la produzione di un singolo oggetto o un elenco di oggetti che è possibile utilizzare gli oggetti di origine come vincolanti.

L'oggetto fornito dallo DataSourceProvider viene quindi utilizzato al posto dello DataSourceProvider stesso.

In questo caso specifico ci dovrebbe quindi essere nessuna differenza pratica.

Problemi correlati