MenuItemCollection Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje kolekci položek nabídky v ovládacím Menu prvku. Tuto třídu nelze zdědit.
public ref class MenuItemCollection sealed : System::Collections::ICollection, System::Web::UI::IStateManager
public sealed class MenuItemCollection : System.Collections.ICollection, System.Web.UI.IStateManager
type MenuItemCollection = class
interface ICollection
interface IEnumerable
interface IStateManager
Public NotInheritable Class MenuItemCollection
Implements ICollection, IStateManager
- Dědičnost
-
MenuItemCollection
- Implementuje
Příklady
Následující příklad kódu ukazuje, jak naplnit Items a ChildItems kolekce pomocí deklarativní syntaxe.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<!-- For the hover styles of the Menu control to -->
<!-- work correctly, you must include this head -->
<!-- element. -->
<head runat="server">
<title>Menu Declarative Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Menu Declarative Example</h3>
<!-- Use declarative syntax to create the -->
<!-- menu structure. Submenu items are -->
<!-- created by nesting them in parent menu -->
<!-- items. -->
<asp:menu id="NavigationMenu"
disappearafter="2000"
staticdisplaylevels="2"
staticsubmenuindent="10"
orientation="Vertical"
font-names="Arial"
target="_blank"
runat="server">
<staticmenuitemstyle backcolor="LightSteelBlue"
forecolor="Black"/>
<statichoverstyle backcolor="LightSkyBlue"/>
<dynamicmenuitemstyle backcolor="Black"
forecolor="Silver"/>
<dynamichoverstyle backcolor="LightSkyBlue"
forecolor="Black"/>
<items>
<asp:menuitem navigateurl="Home.aspx"
text="Home"
tooltip="Home">
<asp:menuitem navigateurl="Music.aspx"
text="Music"
tooltip="Music">
<asp:menuitem navigateurl="Classical.aspx"
text="Classical"
tooltip="Classical"/>
<asp:menuitem navigateurl="Rock.aspx"
text="Rock"
tooltip="Rock"/>
<asp:menuitem navigateurl="Jazz.aspx"
text="Jazz"
tooltip="Jazz"/>
</asp:menuitem>
<asp:menuitem navigateurl="Movies.aspx"
text="Movies"
tooltip="Movies">
<asp:menuitem navigateurl="Action.aspx"
text="Action"
tooltip="Action"/>
<asp:menuitem navigateurl="Drama.aspx"
text="Drama"
tooltip="Drama"/>
<asp:menuitem navigateurl="Musical.aspx"
text="Musical"
tooltip="Musical"/>
</asp:menuitem>
</asp:menuitem>
</items>
</asp:menu>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<!-- For the hover styles of the Menu control to -->
<!-- work correctly, you must include this head -->
<!-- element. -->
<head runat="server">
<title>Menu Declarative Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Menu Declarative Example</h3>
<!-- Use declarative syntax to create the -->
<!-- menu structure. Submenu items are -->
<!-- created by nesting them in parent menu -->
<!-- items. -->
<asp:menu id="NavigationMenu"
disappearafter="2000"
staticdisplaylevels="2"
staticsubmenuindent="10"
orientation="Vertical"
font-names="Arial"
target="_blank"
runat="server">
<staticmenuitemstyle backcolor="LightSteelBlue"
forecolor="Black"/>
<statichoverstyle backcolor="LightSkyBlue"/>
<dynamicmenuitemstyle backcolor="Black"
forecolor="Silver"/>
<dynamichoverstyle backcolor="LightSkyBlue"
forecolor="Black"/>
<items>
<asp:menuitem navigateurl="Home.aspx"
text="Home"
tooltip="Home">
<asp:menuitem navigateurl="Music.aspx"
text="Music"
tooltip="Music">
<asp:menuitem navigateurl="Classical.aspx"
text="Classical"
tooltip="Classical"/>
<asp:menuitem navigateurl="Rock.aspx"
text="Rock"
tooltip="Rock"/>
<asp:menuitem navigateurl="Jazz.aspx"
text="Jazz"
tooltip="Jazz"/>
</asp:menuitem>
<asp:menuitem navigateurl="Movies.aspx"
text="Movies"
tooltip="Movies">
<asp:menuitem navigateurl="Action.aspx"
text="Action"
tooltip="Action"/>
<asp:menuitem navigateurl="Drama.aspx"
text="Drama"
tooltip="Drama"/>
<asp:menuitem navigateurl="Musical.aspx"
text="Musical"
tooltip="Musical"/>
</asp:menuitem>
</asp:menuitem>
</items>
</asp:menu>
</form>
</body>
</html>
Následující příklad kódu ukazuje, jak programově přidat MenuItem objekt do ChildItems kolekce položky kořenové nabídky.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
if (!IsPostBack)
{
// Retrieve the root menu item from the Items
// collection of the Menu control using the indexer.
MenuItem homeMenuItem = NavigationMenu.Items[0];
// Create the submenu item.
MenuItem newSubMenuItem = new MenuItem("New Category");
// Add the submenu item to the ChildItems
// collection of the root menu item.
homeMenuItem.ChildItems.Add(newSubMenuItem);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>MenuItemCollection Add Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItemCollection Add Example</h3>
<asp:menu id="NavigationMenu"
orientation="Vertical"
target="_blank"
runat="server">
<items>
<asp:menuitem text="Home"
tooltip="Home">
<asp:menuitem text="Music"
tooltip="Music">
<asp:menuitem text="Classical"
tooltip="Classical"/>
<asp:menuitem text="Rock"
tooltip="Rock"/>
<asp:menuitem text="Jazz"
tooltip="Jazz"/>
</asp:menuitem>
<asp:menuitem text="Movies"
tooltip="Movies">
<asp:menuitem text="Action"
tooltip="Action"/>
<asp:menuitem text="Drama"
tooltip="Drama"/>
<asp:menuitem text="Musical"
tooltip="Musical"/>
</asp:menuitem>
</asp:menuitem>
</items>
</asp:menu>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
If Not IsPostBack Then
' Retrieve the root menu item from the Items
' collection of the Menu control using the indexer.
Dim homeMenuItem As MenuItem = NavigationMenu.Items(0)
' Create the submenu item.
Dim newSubMenuItem = New MenuItem("New Category")
' Add the submenu item to the ChildItems
' collection of the root menu item.
homeMenuItem.ChildItems.Add(newSubMenuItem)
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>MenuItemCollection Add Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>MenuItemCollection Add Example</h3>
<asp:menu id="NavigationMenu"
orientation="Vertical"
target="_blank"
runat="server">
<items>
<asp:menuitem text="Home"
tooltip="Home">
<asp:menuitem text="Music"
tooltip="Music">
<asp:menuitem text="Classical"
tooltip="Classical"/>
<asp:menuitem text="Rock"
tooltip="Rock"/>
<asp:menuitem text="Jazz"
tooltip="Jazz"/>
</asp:menuitem>
<asp:menuitem text="Movies"
tooltip="Movies">
<asp:menuitem text="Action"
tooltip="Action"/>
<asp:menuitem text="Drama"
tooltip="Drama"/>
<asp:menuitem text="Musical"
tooltip="Musical"/>
</asp:menuitem>
</asp:menuitem>
</items>
</asp:menu>
</form>
</body>
</html>
Poznámky
Třída MenuItemCollection slouží k ukládání a správě kolekce MenuItem objektů v ovládacím Menu prvku. Ovládací Menu prvek používá MenuItemCollection třídu k uložení jeho kořenových položek nabídky do Items vlastnosti. Tato kolekce se také používá pro ChildItems vlastnost MenuItem objektu k uložení podnabídek položky nabídky (pokud existuje).
Třída MenuItemCollection podporuje několik způsobů přístupu k položkám v kolekci:
Pomocí indexeru Item[]MenuItem můžete přímo načíst objekt v určitém indexu založeném na nule.
Použijte metodu GetEnumerator k vytvoření enumerátoru, který lze použít k iteraci v kolekci.
CopyTo Pomocí metody zkopírujte obsah kolekce do pole.
Objekt můžete spravovat MenuItemCollection prostřednictvím kódu programu přidáním a odebráním MenuItem objektů. Chcete-li do kolekce přidat položky nabídky, použijte Add metodu nebo metodu AddAt . Chcete-li odebrat uzly z kolekce, použijte Remove, , RemoveAt, nebo metodu Clear .
Poznámka:
Menu Když je ovládací prvek vázán na zdroj dat, Items a ChildItems kolekce se automaticky vyplní při každém vytvoření vazby. Všechny změny kolekcí mezi vazbami budou ztraceny. Pokud chcete tyto změny zachovat, aktualizujte zdroj dat nebo ručně znovu sestavte kolekci pokaždé, když svážete vazbu.
Třída MenuItemCollection obsahuje vlastnosti a metody, které umožňují načíst informace o samotné kolekci. Pokud chcete zjistit, kolik položek je v kolekci, použijte Count tuto vlastnost. Pokud chcete zjistit, zda kolekce obsahuje určitý MenuItem objekt, použijte metodu Contains . K získání indexu MenuItem objektu v kolekci použijte metodu IndexOf .
Konstruktory
| Name | Description |
|---|---|
| MenuItemCollection() |
Inicializuje novou instanci MenuItemCollection třídy pomocí výchozích hodnot. |
| MenuItemCollection(MenuItem) |
Inicializuje novou instanci MenuItemCollection třídy pomocí zadané nadřazené položky nabídky (nebo vlastníka). |
Vlastnosti
| Name | Description |
|---|---|
| Count |
Získá počet položek nabídky obsažených v aktuálním MenuItemCollection objektu. |
| IsSynchronized |
Získá hodnotu označující, zda je přístup k objektu MenuItemCollection synchronizován (bezpečné vlákno). |
| Item[Int32] |
MenuItem Získá objekt v zadaném indexu v aktuálním MenuItemCollection objektu. |
| SyncRoot |
Získá objekt, který lze použít k synchronizaci přístupu k objektu MenuItemCollection . |
Metody
| Name | Description |
|---|---|
| Add(MenuItem) |
Připojí zadaný MenuItem objekt na konec aktuálního MenuItemCollection objektu. |
| AddAt(Int32, MenuItem) |
Vloží zadaný MenuItem objekt do aktuálního MenuItemCollection objektu v zadaném umístění indexu. |
| Clear() |
Odebere všechny položky z aktuálního MenuItemCollection objektu. |
| Contains(MenuItem) |
Určuje, zda je zadaný MenuItem objekt v kolekci. |
| CopyTo(Array, Int32) |
Zkopíruje všechny položky z objektu MenuItemCollection do kompatibilního jednorozměrného Arrayobjektu počínaje zadaným indexem v cílovém poli. |
| CopyTo(MenuItem[], Int32) |
Zkopíruje všechny položky z objektu MenuItemCollection do kompatibilního jednorozměrného pole MenuItem objektů počínaje zadaným indexem v cílovém poli. |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetEnumerator() |
Vrátí enumerátor, který lze použít k iteraci položek v aktuálním MenuItemCollection objektu. |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| IndexOf(MenuItem) |
Určuje index zadaného MenuItem objektu v kolekci. |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| Remove(MenuItem) |
Odebere zadaný MenuItem objekt z objektu MenuItemCollection . |
| RemoveAt(Int32) |
Odebere MenuItem objekt v zadaném umístění indexu z aktuálního MenuItemCollection objektu. |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| IStateManager.IsTrackingViewState |
Získá hodnotu, která označuje, zda MenuItemCollection objekt ukládá změny do jeho stavu zobrazení. |
| IStateManager.LoadViewState(Object) |
MenuItemCollection Načte dříve uložený stav zobrazení objektu. |
| IStateManager.SaveViewState() |
Uloží změny pro zobrazení stavu do objektu Object. |
| IStateManager.TrackViewState() |
Dává objektu MenuItemCollection pokyn, aby sledoval změny jeho stavu zobrazení. |
Metody rozšíření
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Umožňuje paralelizaci dotazu. |
| AsQueryable(IEnumerable) |
Převede IEnumerable na IQueryable. |
| Cast<TResult>(IEnumerable) |
Přetypuje prvky IEnumerable na zadaný typ. |
| OfType<TResult>(IEnumerable) |
Filtruje prvky IEnumerable na základě zadaného typu. |