string GetCssMenuStyle (bool dynamic, int menuLevel)
{
if (Page.Header != null) {
// styles are registered
StringBuilder sb = new StringBuilder ();
if (!dynamic && staticMenuStyle != null) {
sb.Append (staticMenuStyle.CssClass);
sb.Append (' ');
sb.Append (staticMenuStyle.RegisteredCssClass);
}
if (dynamic && dynamicMenuStyle != null) {
sb.Append (PopOutBoxStyle.RegisteredCssClass);
sb.Append (' ');
sb.Append (dynamicMenuStyle.CssClass);
sb.Append (' ');
sb.Append (dynamicMenuStyle.RegisteredCssClass);
}
if (levelSubMenuStyles != null && levelSubMenuStyles.Count > menuLevel) {
sb.Append (levelSubMenuStyles [menuLevel].CssClass);
sb.Append (' ');
sb.Append (levelSubMenuStyles [menuLevel].RegisteredCssClass);
}
return sb.ToString ();
}
else {
// styles are not registered
SubMenuStyle style = new SubMenuStyle ();
if (!dynamic && staticMenuStyle != null) {
style.CopyFrom (staticMenuStyle);
}
if (dynamic && dynamicMenuStyle != null) {
style.CopyFrom (PopOutBoxStyle);
style.CopyFrom (dynamicMenuStyle);
}
if (levelSubMenuStyles != null && levelSubMenuStyles.Count > menuLevel) {
style.CopyFrom (levelSubMenuStyles [menuLevel]);
}
return style.GetStyleAttributes (null).Value;
}
}