J'ai un contrôle utilisateur que j'ai créé, mais quand je vais l'ajouter au XAML dans la fenêtre, Intellisense ne le ramasse pas, et je ne peux pas comprendre comment l'ajouter à la fenêtre.Ajouter un contrôle utilisateur à une fenêtre wpf
Répondre
Vous devez ajouter une référence à l'intérieur de l'étiquette de la fenêtre. Quelque chose comme:
xmlns:controls="clr-namespace:YourCustomNamespace.Controls;assembly=YourAssemblyName"
(Lorsque vous ajoutez xmlns: contrôle = » IntelliSense devrait lancer pour faire ce peu plus facile)
Vous pouvez alors ajouter le contrôle avec:
<controls:CustomControlClassName ..... />
Vous avez probablement besoin d'ajouter le namespace:
<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>
quelques conseils: d'abord, assurez-vous qu'il ya un xmlns en haut qui inclut l'espace de noms votre vie de contrôle dans.
xmlns:myControls="clr-namespace:YourCustomNamespace.Controls;assembly=YourAssemblyName"
<myControls:thecontrol/>
En second lieu, parfois IntelliSense est stupide.
+1 pour "parfois intellisense is stupid.". Assurez-vous que le projet ne compile pas et ne fonctionne pas, j'ai perdu la trace du nombre de fois que VS m'a dit que mon xmal est invalide quand tout ce dont il avait besoin était une reconstruction pour le faire revenir. –
Voilà comment je l'ai eu à travailler:
contrôle utilisateur 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>
C# contrôle utilisateur
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>
- 1. WPF: ajouter un contrôle usager à une fenêtre
- 2. Contrôle utilisateur WPF parent
- 3. Ajout d'un contrôle utilisateur WPF à partir du code
- 4. Obtenir un contrôle spécifique à partir d'une fenêtre WPF?
- 5. DataContext du contrôle utilisateur WPF est nul
- 6. Rendre un contrôle utilisateur à une chaîne
- 7. Répondre à un événement WPF Click dans un contrôle utilisateur lié aux données
- 8. Comment ajouter une animation de storyboard XAML à un contrôle personnalisé WPF complet dans un XBAP?
- 9. Avoir une fenêtre wpf dans une autre fenêtre wpf
- 10. Dans WPF, comment accéder à un objet défini dans Window.xaml à partir d'un contrôle utilisateur imbriqué?
- 11. Lancer une fenêtre WPF
- 12. Contrôle utilisateur de bureau à distance Silverlight ou WPF
- 13. Contrôle utilisateur WPF avec une propriété de type Enum
- 14. ASP.NET Comment ajouter une fonction javascript à un contrôle?
- 15. Comment envoyer une fenêtre WPF à l'arrière?
- 16. Centrer un contrôle WPF
- 17. Dans WPF, comment puis-je ajouter une bordure à un contrôle dans le code derrière?
- 18. Script pour ajouter un utilisateur à MediaWiki
- 19. Ajouter un contrôle ActiveX à un JPanel
- 20. Comment ajouter un utilisateur à django-tagging
- 21. Redimensionner un contrôle dans WPF
- 22. Activer par programmation un contrôle utilisateur à l'exécution
- 23. jquery ajouter à la fenêtre
- 24. Ajouter dynamiquement une bordure pulsée à un contrôle Silverlight
- 25. C#: Comment ajouter une info-bulle à un contrôle?
- 26. Ajouter une fonction de chargement à une fenêtre d'ouverture
- 27. Comment lier dans WPF un objet entier à un contrôle utilisateur?
- 28. Ajouter un contrôle ASP.NET à Sharepoint WebPart
- 29. Comment ajouter un déclencheur à un contrôle personnalisé WPF sans surcharger le style existant?
- 30. Comment "décorer" un contrôle dans WPF?
Nous sommes maintenant 2015, et le concepteur ne le fait toujours pas automatiquement? ** WTF!?! ** –
@MartinHarris Que dois-je écrire dans "yourassemblyname"? –
Évidemment, le nom de votre assembly - c'est le nom du fichier de sortie (principalement dll). Si la sortie dll a le nom awesome.assembly.dll alors "yourassemblyname" est "awesome.assembly". – honzakuzel1989