2009-07-07 11 views

risposta

62

È necessario aggiungere un riferimento all'interno del tag della finestra. Qualcosa di simile:

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

(Quando si aggiunge xmlns: controlli =" intellisense deve calciare in per rendere questo po 'più facile)

Quindi è possibile aggiungere il controllo con:

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

È ora il 2015 e il progettista continua a non farlo automaticamente? ** WTF!?! ** –

+0

@MartinHarris Che cosa dovrei scrivere in "yourassemblyname"? –

+0

Ovviamente il nome del tuo assembly - questo è il nome del file di output (principalmente dll). Se dll di output ha il nome awesome.assembly.dll, "yourassemblyname" è "awesome.assembly". – honzakuzel1989

12

Probabilmente necessario aggiungere la namespace: coppie

<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

di commenti:.210 prima, assicurarsi che ci sia un xmlns nella parte superiore che include lo spazio dei nomi le vostre vite di controllo in.

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

secondo, a volte IntelliSense è stupido.

+5

+1 per "a volte intellisense è stupido". Assicurati che il progetto in realtà non si compili ed esegua, ho perso la cognizione del numero di volte che VS mi ha detto che il mio xmal non è valido quando tutto ciò di cui aveva bisogno era una ricostruzione per farlo riconsiderare. –

1

Questo è quanto ho capito di lavorare:

di controllo utente 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> 

di controllo utente 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> 
Problemi correlati