Domanda

Ho un file XAML sciolti ...

<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>

... che voglio caricare in fase di esecuzione. Quando io ricevo un'eccezione affermando, "Tipo di riferimento non riesce a trovare il tipo pubblico denominato 'CustomControl'." Come posso fare il XAML sciolti consapevole del mio spazio dei nomi?

Ho bisogno di utilizzare HoverOpacity che è una proprietà di dipendenza della CustomControl. Ecco il codice che sono attualmente in uso per caricare il XAML:

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

XamlReader.Load(resource.Stream);

A proposito, mi rendo conto che il codice XAML è semplice e ho potuto solo inserire il Style nel codice, ma questo è un XAML ciao mondo; la sua intenzione di diventare molto più complesso, che coinvolge le animazioni e così via.

P.S. Un'altra soluzione potrebbe essere un modo di entrambi allegare un file XAML per un controllo personalizzato derivato da Panel (uno che non va in crash Visual Studio 2008) o un modo di collegare facilmente trigger, data-trigger, ingresso-azioni, e le azioni di uscita per controlli personalizzati.

È stato utile?

Soluzione

Accidenti accidenti, ho capito. Avevo bisogno di specificare il nome di montaggio con lo spazio dei nomi; in questo modo:

<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>

Ti darò credito a nessuno che potesse rispondere alla mia "P.S." mettere in discussione entro i prossimi due giorni. Tutta questa situazione sembra un po 'bagnato, quindi sarei veramente interessato a soluzioni alternative.

Grazie:)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top