MenuItemBinding.Depth プロパティ
アセンブリ: System.Web (system.web.dll 内)

MenuItemBinding オブジェクトが適用されるメニューの深さ。既定値は -1 です。このプロパティが設定されていないことを示します。

MenuItemBinding オブジェクトを作成する場合、バインディング基準を指定する必要があります。基準は、データ項目をメニュー項目にバインドするタイミングを示します。Depth プロパティと DataMember プロパティのいずれか、または両方を指定できます。
Depth プロパティを使用して、MenuItemBinding オブジェクトを適用するメニューの深さを指定します。たとえば、次の MenuItemBinding 宣言は、データ ソースの Name フィールドと ID フィールドを、深さ 0 のすべてのメニュー項目の Text プロパティと Value プロパティにそれぞれバインドします。
深さとデータ メンバの両方を指定するメニュー項目バインディングの作成が必要になる場合があります。このバインディングは、データ ソースに異なるレベルで同じデータ メンバ値を持つ項目が含まれている場合によく使用されます。たとえば、1 つの XML ファイル内の異なるレベルに表示される <Item> 要素を指定できます。メニューの深さが異なる同一のデータ メンバに適用されるメニュー項目バインディングの指定方法を次の MenuItemBinding 宣言に示します。
<asp:MenuItemBinding DataMember="Item" Depth="1" TextField="Title">
<asp:MenuItemBinding DataMember="Item" Depth="2" TextField="ISBN">
深さとデータ メンバを指定せずにメニュー項目バインディングを定義した場合、メニュー項目バインディングはメニュー内のすべてのメニュー項目に適用されます。これは、通常、すべてのデータ項目に同じプロパティが存在し、メニューの深さに無関係にまったく同じ表示にする必要がある場合に使用されます。
バインディング基準が確立されたら、バインド可能な MenuItem オブジェクトのプロパティを値にバインドできます。データ項目のフィールドまたは静的な値にバインドできます。MenuItemBinding オブジェクトに静的な値がバインドされた場合、そのオブジェクトの適用先となるすべての MenuItem オブジェクトは、同じ値を共有します。フィールドにバインドされるプロパティには、データ ソースのフィールドの値が格納されています。
競合する MenuItemBinding オブジェクトが定義されている場合、Menu コントロールは次の優先順位でメニュー項目のバインディングを適用します。

Depth プロパティを使用して、MenuItemBinding オブジェクトを適用するメニューの深さを指定する方法を次のコード例に示します。この例を正常に動作させるには、以下のサンプル XML データを、MenuDepth.xml という名前のファイルにコピーする必要があります。
<%@ page language="VB" %> <html> <body> <form runat="server"> <h3>MenuItemBinding Depth Example</h3> <asp:menu id="NavigationMenu" datasourceid="MenuSource" runat="server"> <databindings> <asp:menuitembinding depth="0" textfield="Title" valuefield="Description" imageurlfield="ImageUrl" tooltipfield="ToolTip" target="_self" /> <asp:menuitembinding depth="1" textfield="Title" valuefield="Description" imageurlfield="ImageUrl" tooltipfield="ToolTip" target="_blank"/> <asp:menuitembinding depth="2" textfield="Title" valuefield="Description" imageurlfield="ImageUrl" tooltipfield="ToolTip" target="_blank"/> </databindings> </asp:menu> <asp:xmldatasource id="MenuSource" datafile="MenuDepth.xml" runat="server"/> </form> </body> </html>
<%@ page language="C#" %> <html> <body> <form runat="server"> <h3>MenuItemBinding Depth Example</h3> <asp:menu id="NavigationMenu" datasourceid="MenuSource" runat="server"> <databindings> <asp:menuitembinding depth="0" textfield="Title" valuefield="Description" imageurlfield="ImageUrl" tooltipfield="ToolTip" target="_self" /> <asp:menuitembinding depth="1" textfield="Title" valuefield="Description" imageurlfield="ImageUrl" tooltipfield="ToolTip" target="_blank"/> <asp:menuitembinding depth="2" textfield="Title" valuefield="Description" imageurlfield="ImageUrl" tooltipfield="ToolTip" target="_blank"/> </databindings> </asp:menu> <asp:xmldatasource id="MenuSource" datafile="MenuDepth.xml" runat="server"/> </form> </body> </html>
前の例のサンプル サイト マップ データを次のコードに示します。
<MapNode ImageUrl="~\Images\Home.gif"
<MapNode ImageUrl="~\Images\Music.gif"
<MapNode ImageUrl="~\Images\Classical.gif"
Description="Classical Section"
<MapNode ImageUrl="~\Images\Rock.gif"
<MapNode ImageUrl="~\Images\Jazz.gif"
</MapNode>
<MapNode ImageUrl="~\Images\Movies.gif"
<MapNode ImageUrl="~\Images\Action.gif"
<MapNode ImageUrl="~\Images\Drama.gif"
<MapNode ImageUrl="~\Images\Musical.gif"
</MapNode>
</MapNode>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からMenuItemBinding.Depth プロパティを検索する場合は、下記のリンクをクリックしてください。

- MenuItemBinding.Depth プロパティのページへのリンク