Hello,
please have a look at this method (it is still the long version for debugging):
C#void Ansicht_ControlsCreated(object sender, EventArgs e)
{
var LControl = Ansicht.Control as XafLayoutControl;
foreach (var Item in LControl.Items)
{
if (Item is XafLayoutControlGroup)
{
var LayoutControlGruppe = Item as XafLayoutControlGroup;
if (LayoutControlGruppe != null)
{
foreach (ParalistikBenennungTAB Benennung in Benennungen)
{
string ModelId = LayoutControlGruppe.Model.Id;
string BNennung = Benennung.ParalistikSubGruppeFD;
if ( ModelId == BNennung)
{
if ((!string.IsNullOrEmpty(Benennung.GruppenNameFD)) && (!string.IsNullOrEmpty(Benennung.GruppenNamePluralFD)))
{
LayoutControlGruppe.Model.Caption = Benennung.GruppenNameFD;
if (((LayoutControlGruppe.Model.Id.Contains("Sub") && (!LayoutControlGruppe.Model.Id.EndsWith("Sub")))) || (LayoutControlGruppe.Model.Id == "Bestandteile"))
{
LayoutControlGruppe.Model.Caption = Benennung.GruppenNamePluralFD;
}
}
else
{
LayoutControlGruppe.Model.Caption = Benennung.ParalistikSubGruppeFD;
}
break;
}
}
}
}
else
{
if (Item is XafLayoutControlItem)
{
var LayoutControlItem = Item as XafLayoutControlItem;
if (LayoutControlItem != null)
{
foreach (ParalistikBenennungTAB Benennung in Benennungen)
{
string ModelId = LayoutControlItem.ViewItem.Id;
string BNennung = Benennung.ParalistikSubGruppeFD;
if ( ModelId == BNennung)
{
if (!string.IsNullOrEmpty(Benennung.GruppenNameFD))
{
LayoutControlItem.ViewItem.Caption = Benennung.GruppenNameFD;
}
else
{
LayoutControlItem.ViewItem.Caption = Benennung.ParalistikSubGruppeFD;
}
break;
}
}
}
}
}
}
Ansicht.Refresh();
}
The first part sets captions of XafLayoutControlGroups, this works perfectly.
The second one should set the captions of XafLayoutControlItems. This works, too - from the views second opening on. The first opening always shows the original captions. Why ?
Thank you
Michael
After removing all trash it works perfectly.