È possibile ottenere Kaxaml per caricare assembly esterni utilizzando CLR-namespace, che tuttavia è un problema perché è necessario un sacco di mapping per indirizzare tutti i diversi spazi dei nomi in un assembly mentre l'abitudine XmlnsDefinition sull'assemblea consentirebbe a uno di farla franca con solo uno o pochi.Utilizzo di spazi dei nomi XML personalizzati per fare riferimento a DLL esterne in Kaxaml
Quando alla ricerca di una soluzione che, ovviamente, hanno trovato this question ma sembra solo per coprire l'uso di CLR-namespace come nessuna delle risposte sembrava funzionare per i namespace personalizzati ("Impossibile impostare membro sconosciuto ...").
Esempio:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:is="http://schemas.microsoft.com/expression/2010/interactions">
<!-- ... -->
<Button Content="Test">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<is:ChangePropertyAction PropertyName="IsOpen"
TargetName="popup"
Value="True" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
Questo non funziona, se si utilizza CLR fa:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:is="clr-namespace:Microsoft.Expression.Interactions;assembly=Microsoft.Expression.Interactions"
xmlns:isc="clr-namespace:Microsoft.Expression.Interactivity.Core;assembly=Microsoft.Expression.Interactions">
<!-- ... -->
<Button Content="Test">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<isc:ChangePropertyAction PropertyName="IsOpen"
TargetName="popup"
Value="True" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
Il is
spazio dei nomi non è usata qui e ho dovuto aggiungere un sub-spazio dei nomi l'assemblaggio delle interazioni.
Sarebbe ideale se il primo metodo potesse essere fatto funzionare.