我剛開始通過在Visual Web Developer 2008中創建silverlight應用程序來學習Silverlight。如何在我的代碼隱藏中訪問SilverLight UserControl的屬性?
我在用戶控件中定義了一個公共屬性。如何在aspx隱藏頁面中訪問此屬性值?請幫忙。
我剛開始通過在Visual Web Developer 2008中創建silverlight應用程序來學習Silverlight。如何在我的代碼隱藏中訪問SilverLight UserControl的屬性?
我在用戶控件中定義了一個公共屬性。如何在aspx隱藏頁面中訪問此屬性值?請幫忙。
不確定你的意思,但你可以給你的用戶控件在XAML一側的名稱:x:Name =「myControl」然後你可以使用this.myControl.MyProperty。
您無法從aspx代碼隱藏訪問UserControl
上的屬性。 Aspx代碼隱藏在服務器上執行,因爲Silverlight UserControl
在客戶端上運行。
如果你想讓你的aspx代碼隱藏數據提供給您使用的對象標記的「initParams在」參數Silverlight應用程序: -
<body>
<form id="form1" runat="server" style="height:100%">
<div id="silverlightControlHost">
<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="ClientBin/SilverlightApplication1.xap"/>
<param name="onError" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="4.0.50303.0" />
<param name="autoUpgrade" value="true" />
<param name="initParams" id="initParams" runat="server" />
<a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50303.0" style="text-decoration:none">
<img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
</a>
</object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
</form>
</body>
以上是從測試的默認對象標記配置創建aspx頁面來託管Silverlight應用程序。但是有一個區別,<param name="initParams"
元素已被添加並標記爲服務器端控件。
現在服務器端ASPX代碼隱藏可以修改這個param元素的值: -
protected void Page_Load(object sender, EventArgs e)
{
initParams.Attributes["value"] = "input=Hello";
}
想要發現這種方式可以用這樣的代碼做指定的值的用戶控件: -
public MainPage()
{
InitializeComponent();
SomeTextBox.Text = App.Current.Host.InitParams["input"];
}
你究竟想要做什麼?頁面加載時初始化屬性?當它改變時閱讀它?根據你想要做什麼,你可能需要一些JavaScript,所以更多的細節將幫助我們回答你的問題。 – 2010-09-04 17:48:27