private void Open_ContextMenu(object sender, MouseButtonEventArgs e)
{
//---------------------< Open_ContextMenu() >---------------------
//< init >
//*get values from drag_button_start
FrameworkElement element= (FrameworkElement) sender;
string sControlname = element.Name;
int IDMitarbeiter = clsStrings.get_Key_Value_from_String_as_Integer(sControlname, "IDMitarbeiter");
String DatePlan = clsStrings.get_Key_Value_from_String(sControlname,"DatePlan");
//</ init >
ContextMenu contextMenu = new ContextMenu();
//--< Get_Fehlzeiten >--
var data_Abwesenheiten = db.tblBase_Abwesenheitsgruende;
foreach (var Abwesenheit in data_Abwesenheiten)
{
//--</ Get_Fehlzeiten >--
int IDAbwesenheit = Abwesenheit.IDAbwesenheitsgrund;
string Abwesenheitsgrund = Abwesenheit.Abwesenheitsgrund;
string sBackgroundColor = Abwesenheit.Farbe;
string sTextColor = Abwesenheit.Textfarbe;
//--< MenuItem_anfuegen >--
MenuItem item = new MenuItem();
item.Header = Abwesenheitsgrund ;
item.Name = "MenuItem_" + "_IDMitarbeiter_" + IDMitarbeiter + "_IDAbwesenheit_" + IDAbwesenheit + "_DatePlan_" + DatePlan;
if (sBackgroundColor != ""){
//item.Background = new SolidColorBrush(ColorConverter.ConvertFromString(sBackgroundColor));
}
//< click_Event >
item.Click += Item_Click; ;
//</ click_Event >
//*anfuegen
contextMenu.Items.Add(item);
//--</ MenuItem_anfuegen >--
}
//< anfuegen >
//*an wpf Element als contextmenu anfuegen
//contextMenu.Visibility = Visibility.Visible;
element.ContextMenu = contextMenu;
contextMenu.PlacementTarget = element ; //*fuer referenz in menuItem
//< anfuegen >
//< anzeigen >
contextMenu.IsOpen= true; //*anzeigen, aufklappen
//< anzeigen >
//*Original-Event ausschalten
//*damit der Event nicht durch den original-Mausklick geschlossen wird, muss man den Vorgang beenden
e.Handled = true;
//---------------------</ Open_ContextMenu() >---------------------
}
|