Questa è la mia prima incursione nei controlli personalizzati e non sta andando bene. Ho un controllo grafico personalizzato derivato da Canvas.controllo personalizzato wpf non riconosciuto
namespace Grapher2 {
public class SeriesManager : Canvas {
public SeriesManager() {
...
}
}
}
È definito nello stesso progetto e spazio dei nomi della mia app. Ho provato ad aggiungere un riferimento al controllo in XAML come segue:
<Window x:Class="Grapher2.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:graph="clr-namespace:Grapher2"
Title="Grapher" Width="800" Height="600">
<StackPanel Name="container" Width="700" Height="500">
<graph:SeriesManager Name="seriesManager" Width="700" Height="500" />
</StackPanel>
Ma quando provo a fare riferimento al nome di controllo "seriesManager" nel code-behind per la finestra, ottengo "Il nome 'seriesManager' non esiste nel contesto corrente. "
Inoltre, l'editor XAML non esegue il rendering della finestra, dando un'enorme traccia di stack con l'errore: "Digitare" MS.Internal.Permissions.UserInitiatedNavigationPermission "in Assembly" PresentationFramework, Versione = 3.0.0.0, Culture = neutro, PublicKeyToken = 31bf3856ad364e35 'non è contrassegnato come serializzabile. "
Immagino che la soluzione sia qualcosa di stupidamente semplice per chiunque abbia eseguito controlli personalizzati. Ma sono perplesso.
x: Il nome è necessario per i riferimenti all'interno dello stesso assembly, questo dovrebbe risolvere il problema di non poter fare riferimento a "seriesManager" nel code-behind. maggiori informazioni: http://stackoverflow.com/questions/1380112/why-cant-i-use-the-name-attribute-on-usercontrol-in-the-same-assembly – Zenuka
Oh e BTW utilizzando invece x: Name di Nome potrebbe risolvere tutti i tuoi problemi, prova prima questo e facci sapere se ci sono più problemi ... – Zenuka
x: Nome risolto! Grazie! – Klay