2012-09-10 10 views
8

In ogni finestra WPF predefinita come di seguito, sono disponibili quattro spazi dei nomi. so:Dove trovare lo spazio dei nomi XAML d = "http://schemas.microsoft.com/expression/blend/2008" libreria di mapping?

xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"

e

xmlns: x = "http : //schemas.microsoft.com/winfx/2006/xaml "

sono la libreria di mapping PresentationCore.dll e PresentationFramework.dll. Ma dove posso trovare lo spazio dei nomi file di libreria mappatura

xmlns: d = "" http://schemas.microsoft.com/expression/blend/2008

e

xmlns: mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"

?

<Window x:Class="WpfApplication1.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    Title="MainWindow" Height="350" Width="525"> 
    <Grid> 

    </Grid> 
</Window> 
+0

http://msdn.microsoft.com/en-us/library/cc189061%28v=vs.95%29.aspx - verificarlo - Si dice che l'espressione/blend/2008 sia utilizzata solo nel designer e viene ignorato in fase di esecuzione. (Ciò significherebbe nessuna mappatura?) – LukeP

+0

Vorrei anche saperlo. Sto cercando di utilizzare un UserControl, creato in Visual Studio, in PowerShell e sto ricevendo un errore su questo spazio dei nomi. – Simon

+0

Controlla la mia risposta qui .. [http://stackoverflow.com/questions/25508755/http-schemas-microsoft-com-winfx-2006-xaml-presentation-definition/34635758#34635758][1] – Moumit

risposta

3

Dalla mia comprensione, lo spazio dei nomi "d" abilita gli attributi di solo progettazione nel codice. In questo modo è possibile aggiungere elementi come dati di progettazione all'applicazione e renderli sfumabili.

Lo spazio dei nomi “mc” supporta la compatibilità e di solito il prefisso “D” di cui sopra è accoppiato con un “mc: ignorabile”, che dice al compilatore di ignorare gli elementi di tempo di progettazione in fase di esecuzione

+0

Grazie, ho anche trovato più dettagli da MSDN: –

4

Quasi corretta. Si prega di vedere i dettagli in MSDN: http://msdn.microsoft.com/en-us/library/cc189061(v=vs.95).aspx

D: (http://schemas.microsoft.com/expression/blend/2008)

Il d: XAML namespace è destinato per il supporto di design, in particolare il supporto di design nelle aree di progettazione XAML di Microsoft Visual Studio e Microsoft Expression Blend. d: lo spazio dei nomi XAML consente gli attributi del designer sugli elementi XAML. Questi attributi del designer influiscono solo sugli aspetti di progettazione di come si comporta XAML. Gli attributi del designer vengono ignorati quando lo stesso XAML viene caricato dal parser XAML nel runtime di Silverlight e l'applicazione viene eseguita. Generalmente, gli attributi del designer sono validi su qualsiasi elemento XAML, ma in pratica ci sono solo alcuni scenari in cui applicare l'attributo del designer è appropriato.

mc: (http://schemas.openxmlformats.org/markup-compatibility/2006)

mc: indica e supporta una modalità di compatibilità markup XAML per la lettura. In genere, il prefisso d: è associato all'attributo mc: Ignorable. Questa tecnica consente ai parser XAML in fase di esecuzione di ignorare gli attributi di progettazione, come descritto in precedenza.

2

Non sono sicuro che questa domanda abbia già ricevuto risposta, ma sono stata in grado di trovarla sul mio computer locale per Visual Studio 2013, Ultimate edition. Puoi trovare tutti i tipi (come DataContextProperty o cosa stavo cercando, DesignInstanceExtension) in un assembly da qualche parte sul tuo computer con un percorso simile a:

C: \ Programmi (x86) \ Microsoft Visual Studio 12.0 \ Blend \ Microsoft.Expression.Platform.dll

Si prega di notare che questo può variare a seconda della versione di Visual Studio che si sta utilizzando. Sto solo segnalando cosa "funziona sulla mia macchina". Eseguire una ricerca a livello di macchina per "Microsoft.Expression.Platform.dll" dovrebbe fare il trucco.

+0

Buona ricerca @ Mike-EEE ma non riesco a trovare nulla di simile sulla mia installazione RC VS2017. Mi sto persino collegando a VS per vedere quali moduli sono stati caricati, e ho avuto una panoramica e non riesco a trovare il DesignInstanceExtension: -/ – Schneider

+0

Yikes @Schneider Non ho osato avventurarmi molto più avanti nel software RC . Hai ReSharper Ultimate, per caso? Se si è collegati a un processo VS in esecuzione, potrebbe essere possibile eseguire una ricerca di simboli da tutti gli assembly caricati in memoria. Assicurati che anche il tempo di progettazione e il design di Xaml siano stati caricati. Cioè, puoi vedere uno schermo del designer Xaml e tutto il resto. Forse questi componenti sono stati spostati completamente in un nuovo assieme? –

+0

Sì Ho eseguito il debug del processo XDesProc e ho esaminato alcuni degli assembly, ma non sono riuscito a trovare d: DesignContext (che presumo sia Xaml Markup Extension) – Schneider

Problemi correlati