Laden...

WPF - UserControl hinzufügen

Erstellt von wiesi vor 16 Jahren Letzter Beitrag vor 16 Jahren 10.205 Views
wiesi Themenstarter:in
89 Beiträge seit 2005
vor 16 Jahren
WPF - UserControl hinzufügen

Hi,

ich habe ein einfaches Fenster mit WPF erstellt.


<Window x:Class="Sandribbon_WPF.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Sandribbon_WPF" Height="470" Width="625"
    xmlns:ns="ns"
    >
  <Grid>
    <Button Height="23" HorizontalAlignment="Left" Margin="17,0,0,15" Name="button1" VerticalAlignment="Bottom" Width="75">Button</Button>
  </Grid>
</Window>

sowie ein eigenes UserControl


<UserControl x:Class="Sandribbon_WPF.UserControl1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Height="77" Width="213">
    <Grid>
    <Button Margin="69,25,69,29" Name="button1"  >Button</Button>
  </Grid>
</UserControl>

Mit normalen Windows-Forms bin ich eigentlich gewohnt, daß die eigenen UserControls
in der Toolbox auftauchen und, was bei WPF anscheinend nicht mehr der Fall ist.

Meine Frage nun: Wie kann ich dieses UserControl in mein Fenster einbinden?

Danke und Grüße,
wiesi 😉

F
722 Beiträge seit 2005
vor 16 Jahren
  1. XAML Namespace-Mapping erstellen, damit das Control in XAML benutzt werden kann:

<Window xmlns:custom="clr-namespace:DEINNAMESPACE;assembly=DEINASSEMBLY".../>

  1. Control deklarieren
 
<custom:UserControl1..../>

wiesi Themenstarter:in
89 Beiträge seit 2005
vor 16 Jahren

Cool, danke ... muß man das immer per Hand machen?

wiesi Themenstarter:in
89 Beiträge seit 2005
vor 16 Jahren

Original von feadur

  1. XAML Namespace-Mapping erstellen, damit das Control in XAML benutzt werden kann:
  
<Window xmlns:custom="clr-namespace:DEINNAMESPACE;assembly=DEINASSEMBLY".../>  
  
  1. Control deklarieren
   
<custom:UserControl1..../>  
  

Kannst du mir bitte einmal mein oben dargestelltes Beispiel entsprechend editieren?
Komme leider gerade nicht klar damit ... 😉

F
722 Beiträge seit 2005
vor 16 Jahren

Original von wiesi

Kannst du mir bitte einmal mein oben dargestelltes Beispiel entsprechend editieren?

Naja das das wesentliche habe ich ja schon geschrieben.
Für weitere Infos schau bitte in die Doku, z.b. hier:
http://msdn2.microsoft.com/en-us/library/ms747086.aspx

wiesi Themenstarter:in
89 Beiträge seit 2005
vor 16 Jahren

Ich habe nur einen Namespace und versuche nur, ein selbstgemachtes UserControl
in meinem Window darzustellen, nur finde ich keinen Weg. Es taucht in der Toolbox
(so wie bei WindowsForms) nicht auf ...

F
722 Beiträge seit 2005
vor 16 Jahren

mit der toolbox geht es auch nicht, soweit ist cider noch nicht.
du musst in deinem xaml dokument für das fenster ein namespacemapping einrichten für den namespace, in dem das usercontrol definiert wurde. in deinem fall ist dies der gleiche namespace wie für das fenster, von daher kannst du beim mapping auf die assembly angabe verzichten, musst aber trotzdem explizit einen (XML-)namenspace für diesen (CLR-)namespace einrichten.
also in deinem konkreten fall:


<Window xmlns:custom="clr-namespace:Sandribbon_WPF".../>

dann kannst du wie beschrieben das usercontrol verwenden.