如何:使用程式碼修改 Silverlight 螢幕
Visual Studio LightSwitch 可讓您使用設計工具和工具視窗完成許多與畫面相關的設計工作。 但是有某些工作可能需要使用程式碼來完成。 本主題將說明如何使用畫面物件模型完成一組常見的畫面相關設計工作。 如需應用程式中可供撰寫程式碼之位置的詳細資訊,請參閱下列任一主題:
如需在 Visual Studio LightSwitch 中撰寫程式碼的一般性指引,請參閱在 LightSwitch 中撰寫程式碼。
一般工作
下列清單將說明一些可使用畫面物件模型完成的常見資料相關工作。
- 將控制項設定為隱藏、唯讀或停用
將控制項設定為隱藏、唯讀或停用
您可以使用程式碼來隱藏或顯示畫面上的控制項。 您還可以指定控制項是否為唯讀的或已停用。
如果公司名稱為 Coho Winery,下列範例就會隱藏資料格中的公司名稱。 本範例還會將控制項設定成唯讀模式,讓查看的人無法在控制項中輸入文字以修改公司名稱。
Private Sub FindControlInList()
Dim index As Integer = 0
For Each cust As Customer In Customers
If cust.CompanyName = "Great Lakes Food Market" Then
With FindControlInCollection("CompanyName", Customers(index))
.IsVisible = False
.IsReadOnly = True
End With
End If
index = index + 1
Next
End Sub
private void FindControlInList()
{
int index = 0;
foreach (Customer cust in this.Customers)
{
if (cust.CompanyName == "Great Lakes Food Market")
{
this.FindControlInCollection("CompanyName",
this.Customers.ElementAt(index)).IsVisible = false;
this.FindControlInCollection("CompanyName",
this.Customers.ElementAt(index)).IsReadOnly = true;
}
index++;
}
}
如果選取項目的公司名稱為 Coho Winery,下列範例就會在畫面上隱藏詳細資料檢視中的公司名稱。 本範例還會停用 [刪除] 按鈕,讓使用者無法刪除為 Coho Winery 工作的客戶。
Private Sub Customers_SelectionChanged()
FindControl("Customers_DeleteSelected").IsEnabled = True
If Me.Customers.SelectedItem.CompanyName = "Great Lakes Food Market" Then
FindControl("CompanyName1").IsVisible = False
FindControl("Customers_DeleteSelected").IsEnabled = False
End If
End Sub
partial void Customers_SelectionChanged()
{
this.FindControl("Customers_DeleteSelected").IsEnabled = true;
if (this.Customers.SelectedItem.CompanyName == "Great Lakes Food Market")
{
this.FindControl("CompanyName1").IsVisible = false;
this.FindControl("Customers_DeleteSelected").IsEnabled = false;
}
}