2012-09-10 6 views
8

In jedem Standard-WPF-Fenster wie unten sind vier Namespaces referenziert. Ich weiß:Wo finde ich den XAML-Namespace d = "http://schemas.microsoft.com/expression/blend/2008" Mapping-Bibliothek?

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

und

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

sind Mapping-Bibliothek PresentationCore.dll und PresentationFramework.dll. Aber wo finde ich die Bibliotheksdateien Mapping-Namespace

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

und

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 - überprüfen Sie dies - Es besagt, dass der Ausdruck/blend/2008 nur im Designer verwendet wird und wird zur Laufzeit ignoriert. (Das würde keine Zuordnung bedeuten?) – LukeP

+0

Ich würde das auch gerne wissen. Ich versuche, ein in Visual Studio erstelltes Benutzersteuerelement in PowerShell zu verwenden, und ich erhalte eine Fehlermeldung über diesen Namespace. – Simon

+0

Überprüfen Sie meine Antwort hier .. [http://stackoverflow.com/questions/25508755/http-schemas-microsoft-com-winfx-2006-xaml-presentation-definition/34635758#34635758][1] – Moumit

Antwort

3

Von meinem Verständnis, "d" Namespace aktiviert Designer-only-Attribute in Ihrem Code. Auf diese Weise können Sie Ihrer Anwendung Daten wie z. B. Entwurfszeitdaten hinzufügen und sie damit mischbar machen.

Der „mc“ Namespace unterstützt die Kompatibilität und in der Regel die „d“ Präfix oben erwähnt mit einem paired „mc: ignorable“, die den Compiler die Entwurfszeit-Elemente zur Laufzeit

+0

Danke, ich auch gefunden mehr Details von MSDN: –

4

Fast richtig zu ignorieren erzählt. Bitte beachten Sie weitere Details in MSDN: http://msdn.microsoft.com/en-us/library/cc189061(v=vs.95).aspx

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

Der d: XAML-Namespace ist für Designer-Unterstützung gedacht, speziell Designer Unterstützung in den XAML Designoberflächen von Microsoft Visual Studio und Microsoft Ausdruckmischung Der d: XAML-Namespace aktiviert Designerattribute für XAML-Elemente. Diese Designerattribute wirken sich nur auf die Designaspekte aus, in denen sich XAML verhält. Die Designerattribute werden ignoriert, wenn dasselbe XAML in der Silverlight-Laufzeit vom XAML-Parser geladen wird und die Anwendung ausgeführt wird. Im Allgemeinen sind die Designerattribute für jedes XAML-Element gültig, in der Praxis gibt es jedoch nur bestimmte Szenarios, in denen die Anwendung eines Designerattributs selbst angemessen ist.

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

mc: zeigt an und unterstützt eine Markup-Kompatibilitätsmodus für XAML zu lesen. In der Regel ist das Präfix d: dem Attribut mc: Ignorable zugeordnet. Diese Technik ermöglicht Laufzeit-XAML-Parsern, die Entwurfsattribute zu ignorieren, wie zuvor beschrieben.

2

Ich bin nicht sicher, ob diese Frage bereits beantwortet wurde, aber ich konnte es auf meinem lokalen Computer für Visual Studio 2013, Ultimate Edition finden. Sie können alle Typen (wie DataContextProperty oder was ich suchte, DesignInstanceExtension) in einer Assembly irgendwo auf Ihrem Rechner mit einem Pfad wie folgt finden:

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

Bitte beachten Sie, dass dies je nach der von Ihnen verwendeten Version von Visual Studio variieren kann. Ich melde nur, was "auf meiner Maschine funktioniert". Eine maschinenseitige Suche nach "Microsoft.Expression.Platform.dll" sollte den Trick machen.

+0

Gut finden @ Mike-EEE, aber ich kann nichts ähnliches auf meiner VS2017 RC-Installation finden. Ich bin sogar an VS anfügen, um zu sehen, welche Module geladen sind, und ich habe sie durchsuchen und kann die DesignInstanceExtension nicht finden: -/ – Schneider

+0

Yikes @Schneider Ich habe nicht gewagt, so weit voraus in RC-Software heraus zu wagen . Hast du zufällig ReSharper Ultimate? Sie können möglicherweise ein Symbol von allen geladenen Assemblys im Speicher abrufen, wenn Sie einem laufenden VS-Prozess angehängt sind. Stellen Sie sicher, dass die Xaml-Entwurfszeit und der Designer ebenfalls geladen wurden. Das heißt, Sie können einen Xaml-Designer-Bildschirm und alles sehen. Vielleicht sind diese Komponenten insgesamt in eine neue Baugruppe umgezogen? –

+0

Yup Ich habe den XDesProc-Prozess debugged und habe einige der Assemblies durchgesehen, konnte aber nicht den d: DesignContext finden (was ich vermute, ist eine Xaml Markup-Erweiterung) – Schneider