Hallo alles, ich versuche ContexMenu in meine dynamisch generierte Struktur hinzuzufügen.WPF: Hinzufügen von ContexMenu zu dynamisch erstellten Baum
Unten ist mein Code zum Generieren von Tree.
brauche ich ContexMenu für hinzuzufügen:
NEU: EDIT:
auf Mouse DELETE sollte ich in der Lage sein, die gleiche Operation auszuführen des jeweiligen Buttons klicken.
Kann jeder Körper helfen, den Code zu vervollständigen.
XML: CODE
<Window x:Class="NewTree_DynamicNode.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525"
Loaded="TestsTreeViewPageFunction_Loaded">
<Grid>
<TreeView Name="treeFileSystem" >
<TreeViewItem Header="Suite" Name="MYTree" Tag="hi" IsExpanded="True">
<TreeViewItem Name="treeFileSystem1" />
</TreeViewItem>
</TreeView>
<TextBox Name="textBox1" Height="23" HorizontalAlignment="Left" Margin="121,150,0,0" VerticalAlignment="Top" Width="120" />
<Button Content="New" Height="23" HorizontalAlignment="Left" Margin="12,121,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="New_Click" />
<Button Content="Edit" Height="23" HorizontalAlignment="Left" Margin="12,150,0,0" Name="button2" VerticalAlignment="Top" Width="75" Click="Edit_Click"/>
<Button Content="Copy" Height="23" HorizontalAlignment="Left" Margin="12,179,0,0" Name="button3" VerticalAlignment="Top" Width="75" Click="Copy_Click"/>
</Grid>
</Window>
C# -Code:
private void TestsTreeViewPageFunction_Loaded(object sender,
RoutedEventArgs e)
{
this.MYTree.Items.Clear();
for (int j = 1; j < 4; j++)
{
TreeViewItem Case = new TreeViewItem();
Case.Header = "Case "+j.ToString();
Case.IsExpanded = true;
Case.Items.Add(Trythis());
this.MYTree.Items.Add(Case);
}
}
private TreeViewItem Trythis()
{
TreeViewItem Step = new TreeViewItem();
for (int i = 0; i < 5; i++)
{
Step.Header = "Steps " + i.ToString();
}
return Step;
}
private void New_Click(object sender, RoutedEventArgs e)
{
textBox1.Text = "New Button Clicked";
}
private void Edit_Click(object sender, RoutedEventArgs e)
{
textBox1.Text = "Edit Button Clicked";
}
private void Copy_Click(object sender, RoutedEventArgs e)
{
textBox1.Text = "Copy Button Clicked";
}
EDIT:
Ich suche nach einer Lösung, wo ich in der Lage sein sollte, hinzufügen oder Beschränke das ContexMenu auf TreeItem basierend auf dem Header in Formation.
Ihr Code ist wirklich unordentlich. Verwenden Sie keine 'button1' Namen. –