2009-07-07 25 views

Respuesta

62

Debe agregar una referencia dentro de la etiqueta de la ventana. Algo así como:

xmlns:controls="clr-namespace:YourCustomNamespace.Controls;assembly=YourAssemblyName" 

(Cuando se agrega xmlns: controles =" IntelliSense debe patada en hacer esta poco más fácil)

continuación, puede agregar el control con:

<controls:CustomControlClassName ..... /> 
+4

Ahora es 2015, y el diseñador todavía no hace esto automáticamente? ** WTF!?! ** –

+0

@MartinHarris ¿Qué debo escribir en "yourassemblyname"? –

+0

Obviamente su nombre de ensamblado: este es el nombre del archivo de salida (principalmente dll). Si la salida dll tiene el nombre awesome.assembly.dll, entonces "yourassemblyname" es "awesome.assembly". – honzakuzel1989

12

Probablemente necesitará añadir el namespace: Pares

<Window x:Class="UserControlTest.Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="clr-namespace:UserControlTest" 
    Title="User Control Test" Height="300" Width="300"> 
    <local:UserControl1 /> 
</Window> 
11

de recomendaciones: En primer lugar, asegúrese de que hay un xmlns en la parte superior que incluye el espacio de nombres de control de su vida en.

xmlns:myControls="clr-namespace:YourCustomNamespace.Controls;assembly=YourAssemblyName" 
<myControls:thecontrol/> 

en segundo lugar, a veces intelisense es estúpida.

+5

+1 por "a veces intellisense es estúpido". Asegúrate de que el proyecto en realidad no se compila y ejecuta, he perdido la cuenta de la cantidad de veces que VS me ha dicho que mi xmal no es válido cuando todo lo que necesitaba era una reconstrucción para que reconsiderara. –

1

Esta es la forma en que lo tengo para trabajar: Control

usuario WPF

<UserControl x:Class="App.ProcessView" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
      mc:Ignorable="d" 
      d:DesignHeight="300" d:DesignWidth="300"> 
    <Grid> 

    </Grid> 
</UserControl> 

de Control de Usuario C#

namespace App { 
    /// <summary> 
    /// Interaction logic for ProcessView.xaml 
    /// </summary> 
    public partial class ProcessView : UserControl // My custom User Control 
    { 
     public ProcessView() 
     { 
      InitializeComponent(); 
     } 
    } } 

MainWindow WPF

<Window x:Name="RootWindow" x:Class="App.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:app="clr-namespace:App" 
     Title="Some Title" Height="350" Width="525" Closing="Window_Closing_1" Icon="bouncer.ico"> 
    <Window.Resources> 
     <app:DateConverter x:Key="dateConverter"/> 
    </Window.Resources> 
    <Grid> 
     <ListView x:Name="listView" > 
      <ListView.ItemTemplate> 
       <DataTemplate> 
        <app:ProcessView /> 
       </DataTemplate> 
      </ListView.ItemTemplate> 
     </ListView> 
    </Grid> 
</Window> 
Cuestiones relacionadas