Frage

Ich habe eine lose XAML-Datei ...

<Style
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:MyNamespace"
    TargetType="{x:Type local:CustomControl}">
    <Setter Property="HoverOpacity" Value="1.0"/>
</Style>

..., dass ich zur Laufzeit geladen werden soll. Wenn ich mir eine Ausnahme erhalten und erklärt: „Typenbezeichnung kann öffentlichen Typen nicht gefunden namens‚Custom‘.“ Wie kann ich die lose XAML bewusst meine Namespace machen?

Ich muss Verwendung HoverOpacity, die eine Abhängigkeitseigenschaft des CustomControl ist. Hier ist der Code, dass ich zur Zeit bin mit dem XAML laden:

var resource = Application.GetResourceStream(new Uri("pack://application:,,,/Assets/HoverStyle.xaml"));

XamlReader.Load(resource.Stream);

BTW, ich merke, dass die XAML einfach ist und ich konnte nur die Style in Code einfügen, aber das ist eine Hallo Welt XAML; sein Gehen, viel komplexer geworden, an denen Animationen und so.

P. S. Eine andere Lösung wäre eine Möglichkeit, entweder eine XAML-Datei in einem benutzerdefinierten Steuerelement Anbringen abgeleitet von Panel (eine, die nicht Visual Studio 2008 nicht abstürzen) oder eine Möglichkeit, leicht Anbringen Trigger, Daten Trigger, Entry-Level-Aktionen und Austrittsaktionen zu Custom Controls.

War es hilfreich?

Lösung

Gosh darn es, ich es herausgefunden. Ich brauchte den Assembly-Namen mit dem Namensraum angeben; etwa so:

<Style
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:MyNamespace;assembly=MyAssembly"
    TargetType="{x:Type local:CustomControl}">
    <Setter Property="HoverOpacity" Value="1.0"/>
</Style>

Ich werde Antwort Kredit für jeden geben, der meine „P. S.“ antworten konnte Frage innerhalb der nächsten zwei Tage. Diese ganze Situation scheint ein wenig nass, so dass ich wirklich in Alternativen interessiert sein würde.

Danke:)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top