Laden...

Probleme mit eigenem UserControl und ContextMenu

Erstellt von Quaneu vor 11 Jahren Letzter Beitrag vor 11 Jahren 2.581 Views
Quaneu Themenstarter:in
692 Beiträge seit 2008
vor 11 Jahren
Probleme mit eigenem UserControl und ContextMenu

Hallo zusammen,

ich verstehe gerade nicht wieso folgendes Szenario nicht geht:

Habe ein eigenes UserControl namens Tree:


<TreeView x:Class="Controls.Tree" 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">
</TreeView>


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace Controls
{
	/// <summary>
	/// Interaction logic for Tree.xaml
	/// </summary>
	public partial class Tree : TreeView
	{
		public Tree()
		{
			InitializeComponent();
		}
	}
}

Nun will ich mein UserControl Tree wie folgt verwenden:


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

		<controls:Tree>
			<controls:Tree.ContextMenu>
				<ContextMenu>
					
				</ContextMenu>
			</controls:Tree.ContextMenu>
		</controls:Tree>
</Window>

Doch leider funktioniert die Zeile mit dem ContextMenu (controls:Tree.ContextMenu) nicht:

Fehlermeldung:
The attachable property 'ContextMenu' was not found in type 'Tree'.

Was muss ich machen, damit ich auf das ContextMenu "zugreifen" kann?

Schöne Grüße
Quaneu

F
10.010 Beiträge seit 2004
vor 11 Jahren

Doch leider funktioniert die Zeile mit dem ContextMenu nicht [Hinweis] Wie poste ich richtig? Punkt 5

6.862 Beiträge seit 2003
vor 11 Jahren

Hallo,

Zusätzlich zu dem von FZelle gesagtem: Auch wenn man Code nur schnell per Hand schreibt, bitte auf Konsistenz achten, da man sonst gar nicht weiß wo man anfangen soll nach Fehler zu suchen. Du sagst du hast ein UC namens Tree und postest dann XAML Code wo steht TreeView, TreeViee und verwendet wirds dann doch wieder mit Tree...

Baka wa shinanakya naoranai.

Mein XING Profil.

Quaneu Themenstarter:in
692 Beiträge seit 2008
vor 11 Jahren

Entschuldigt bitte meinen "schlampigen" Beitrag. Habe ihn gerade ein bisschen "aufgeräumt". Hoffe er ist nun besser verständlich.

Schöne Grüße
Quaneu

6.862 Beiträge seit 2003
vor 11 Jahren

Hallo,

Dein Code ist komisch. Du sagst du willst ein UserControl, hast aber als Root Knoten im XAML ein TreeView. Wenn das nen UserControl werden soll, muss das auch nen UserControl sein. Bei dir siehts mehr nach einem Custom Control aus. Dort würde man dann aber wiederum nicht so mit XAML arbeiten, sondern das Aussehen des Controls in einem Style festlegen.

Was solls jetzt werden, ein Custom Control oder ein User Control?

Baka wa shinanakya naoranai.

Mein XING Profil.

Quaneu Themenstarter:in
692 Beiträge seit 2008
vor 11 Jahren

Gute Frage. Ich denke dann wohl eher ein Custom Control, da ich ja den TreeView später um ein paar Funktionalitäten erweitern will.

6.862 Beiträge seit 2003
vor 11 Jahren

Hallo,

ja, dann eher Custom Control. Schau mal hier, was man da alles beachten muss und wie man ein Custom Control richtig erstellt. Dann sollte es eigentlich auch tun mit dem ContextMenu da das ja einfach nur von Framework Element vererbt wird.

Baka wa shinanakya naoranai.

Mein XING Profil.