2010-09-22 27 views
15

Ho creato un controllo personalizzato in C# (metodi sovrascritti nel controllo Button e aggiunti nuovi eventi). Devo usare questo controllo nell'applicazione wpf. In WinForms posso usare questo da ToolBox(right click) --> Choose Items -->Browse. dove come in WPF non posso importare i controlli personalizzati. C'è un modo per fare questoCome utilizzare i controlli personalizzati in WPF

+0

È necessario chiarire se il proprio controllo è uno creato per WinForm o uno nuovo creato specificamente in WPF. –

+0

Il controllo viene creato in 'WindowsFormsControlLibrary' –

risposta

12

potrebbe richiedere una ricostruzione per il progetto specifico, quindi un file xaml deve essere attivo. Il tuo controllo personalizzato dovrebbe apparire nella casella degli strumenti. se non mostra. è possibile effettuare le seguenti operazioni:

nel file XAML, da qualche parte nel tag di intestazione, dove si vede molti dei xmlns: yyy, aggiungere un nuovo xmlns: per esempio:

<Window 
    x:Class="MyProject.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:custom="clr-namespace:MyProject"> 

dove personalizzato è un qualsiasi identificatore per lo spazio dei nomi e MyProject è lo spazio dei nomi. Non ti preoccupare di questo perché quando digiti "xmlns: custom =" (senza le virgolette) intellisense ti darà la possibilità di scegliere i namespace esistenti a cui fai riferimento. quindi basta scegliere lo spazio dei nomi appropriato dal menu a discesa e premere Invio.

ora scorrere verso il basso al punto in cui si desidera inserire il controllo personalizzato e:

<custom:MyControl Content="Click Me!" Click="Button_Click" /> 

personalizzato: MyControl da xmlns: personalizzato (sopra) e il nome del controllo, MyControl Content è la proprietà Contenuto assegnata "Click Me!" e Fare clic su è l'evento Click con il gestore "Button_Click".

Spero che questo aiuti!

1

Suppongo che tu stia parlando di un controllo utente WinForms qui, non di uno WPF? Se è così, io suggerirei di leggere il seguente articolo: http://msdn.microsoft.com/en-us/library/ms742875.aspx

Potrei aggiungere che potrebbe essere una buona idea per creare semplicemente un controllo utente WPF - il processo è migliorata molto rispetto a WinForms, anche il modello di contenuto dovrebbe rendere le cose un po 'più semplici.

Problemi correlati