WPF: Column oder Row ermitteln
Wie kann man die Spalte oder Zeile eines WPF Framework
Elements in einem Grid ermittln?
Lösung:
Mit Grid.GetColumn oder Grid.GetRow(Element) bekommt man
die aktuelle Position des FrameworkElement in einem Grid
int iCol = Grid.GetColumn(child);
|
Code
Beispiel
private void Mitarbeiter_aus_Spalte_Entfernen(int IDMitarbeiter,int ColNr)
{
//---------------------< Mitarbeiter_aus_Spalte_Entfernen() >---------------------
//*einen eingeplanten Mitarbeiter aus dem Vorrat der Tagesspalte loeschen
foreach( FrameworkElement child in Grid_Mitarbeiter.Children)
{
int iCol = Grid.GetColumn(child);
if (iCol == ColNr)
{
//----< in_ColNr >----
if(child.GetType()==typeof(Border))
{
Border cell = (Border)child;
if (cell.Child != null)
{
//--< Stackpanel >--
StackPanel stackpanel = cell.Child as StackPanel;
foreach(Button btn in stackpanel.Children)
{
string sName = btn.Name;
int btn_IDMitarbeiter = clsSchichtplan.berechne_IDMitarbeiter_aus_String(sName);
if(btn_IDMitarbeiter==IDMitarbeiter)
{
//< delete_button >
stackpanel.Children.Remove(btn);
break;
//</ delete_button >
}
}
//--</ Stackpanel >--
}
}
//----</ in_ColNr >----
}
}
//---------------------</ Mitarbeiter_aus_Spalte_Entfernen() >---------------------
}
|