SiteMapPath.RootNodeTemplate プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
サイト ナビゲーション パスのルート ノードに使用するコントロール テンプレートを取得または設定します。
public:
virtual property System::Web::UI::ITemplate ^ RootNodeTemplate { System::Web::UI::ITemplate ^ get(); void set(System::Web::UI::ITemplate ^ value); };
[System.ComponentModel.Browsable(false)]
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
[System.Web.UI.TemplateContainer(typeof(System.Web.UI.WebControls.SiteMapNodeItem))]
public virtual System.Web.UI.ITemplate RootNodeTemplate { get; set; }
[<System.ComponentModel.Browsable(false)>]
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
[<System.Web.UI.TemplateContainer(typeof(System.Web.UI.WebControls.SiteMapNodeItem))>]
member this.RootNodeTemplate : System.Web.UI.ITemplate with get, set
Public Overridable Property RootNodeTemplate As ITemplate
プロパティ値
ナビゲーション パスのルート ノードのカスタム コンテンツを表示する、ITemplate メソッドを実装した InstantiateIn(Control) オブジェクト。
- 属性
例
次のコード例では、コントロールをラップするインターフェイスを実装するクラスを ITemplate プログラムで定義する方法を Image 示します。 その後、 RootNodeTemplate プロパティはクラスのインスタンスに設定されます。
<%@ 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">
private void Page_Load(object sender, System.EventArgs e)
{
// Create the SiteMapPath control.
SiteMapPath navpath = new SiteMapPath();
// Make the root node look unique.
// The Image that you can use in your Web page is an
// instance of the WebControls.Image class, not the
// Drawing.Image class.
System.Web.UI.WebControls.Image rootNodeImage =
new System.Web.UI.WebControls.Image();
rootNodeImage.ImageUrl = "myimage.jpg";
ImageTemplate rootNodeImageTemplate = new ImageTemplate();
rootNodeImageTemplate.MyImage = rootNodeImage;
navpath.RootNodeTemplate = rootNodeImageTemplate;
// Make the current node look unique.
Style currentNodeStyle = new Style();
navpath.CurrentNodeStyle.ForeColor = System.Drawing.Color.AliceBlue;
navpath.CurrentNodeStyle.BackColor = System.Drawing.Color.Bisque;
// Set the path separator to be something other
// than the default.
navpath.PathSeparator = "::";
PlaceHolder1.Controls.Add(navpath);
}
// A simple Template class to wrap an image.
public class ImageTemplate : ITemplate
{
private System.Web.UI.WebControls.Image myImage;
public System.Web.UI.WebControls.Image MyImage
{
get
{
return myImage;
}
set
{
myImage = value;
}
}
public void InstantiateIn(Control container)
{
container.Controls.Add(MyImage);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>About Our Company</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<asp:PlaceHolder id="PlaceHolder1" runat="server"></asp:PlaceHolder>
<h1>About Our Company</h1>
<p>Our company was founded in 1886.</p>
<p>We use only the finest ingredients, organically grown fruits, and
natural spices in our homemade pies. We use no artificial preservatives
or coloring agents. We would not have it any other way!</p>
</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">
Private Sub Page_Load(sender As Object, e As EventArgs)
' Create the SiteMapPath control.
Dim navpath As New SiteMapPath()
' Make the root node look unique.
' The Image that you can use in your Web page is an
' instance of the WebControls.Image class, not the
' Drawing.Image class.
Dim rootNodeImage As New System.Web.UI.WebControls.Image()
rootNodeImage.ImageUrl = "myimage.jpg"
Dim rootNodeImageTemplate As New ImageTemplate()
rootNodeImageTemplate.MyImage = rootNodeImage
navpath.RootNodeTemplate = rootNodeImageTemplate
' Make the current node look unique.
Dim currentNodeStyle As New Style()
navpath.CurrentNodeStyle.ForeColor = System.Drawing.Color.AliceBlue
navpath.CurrentNodeStyle.BackColor = System.Drawing.Color.Bisque
' Set the path separator to be something other
' than the default.
navpath.PathSeparator = "::"
PlaceHolder1.Controls.Add(navpath)
End Sub ' Page_Load
' A simple Template class to wrap an image.
Public Class ImageTemplate
Implements ITemplate
Private anImage As System.Web.UI.WebControls.Image
Public Property MyImage As System.Web.UI.WebControls.Image
Get
return anImage
End Get
Set
anImage = value
End Set
End Property ' MyImage
Public Overridable Sub InstantiateIn(ByVal container As Control) Implements ITemplate.InstantiateIn
container.Controls.Add(MyImage)
End Sub ' InstantiateIn
End Class ' ImageTemplate
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>About Our Company</title>
</head>
<body>
<form id="Form1" method="post" runat="server">
<asp:PlaceHolder id="PlaceHolder1" runat="server"></asp:PlaceHolder>
<h1>About Our Company</h1>
<p>Our company was founded in 1886.</p>
<p>We use only the finest ingredients, organically grown fruits, and
natural spices in our homemade pies. We use no artificial preservatives
or coloring agents. We would not have it any other way!</p>
</form>
</body>
</html>
注釈
文字列の代わりにルート ノードのRootNodeTemplateITemplateユーザー インターフェイス要素などLabel、コントロールまたはその他のコントロールを使用Imageするようにオブジェクトに設定します。
プロパティが RootNodeTemplate 設定されている場合、テンプレートは、表示されるルート ナビゲーション ノードのテキストと RootNodeStyle 、それに適用されたテキストの両方をオーバーライドします。 また、ルート ページが現在表示されているページの場合は、テンプレートによってプロパティとCurrentNodeStyleプロパティもオーバーライドCurrentNodeTemplateされます。
プロパティは宣言によって任意の RootNodeTemplate Web サーバー コントロールに設定でき、ASP.NET インフラストラクチャは Web サーバー コントロールを 1 つの Web サーバー コントロールとしてラップするために必要な手順をITemplate実行します。 ただし、Web サーバー コントロールはインターフェイスを ITemplate 実装しないため、プログラムでプロパティを ITemplate 操作する場合は、テンプレート コードのラッパーを記述する ITemplate 必要があります。 その後、 RootNodeTemplate プロパティはラッパーのインスタンスに ITemplate 設定されます。