次の方法で共有


方法: コードを使用して Silverlight の画面を変更する

Visual Studio LightSwitch は、デザイナーやツール ウィンドウを使用して画面関連の多くのタスクを実行することを可能にします。 ただし、コードを使用して実行すると効果のあるタスクもあります。 このトピックでは、画面のオブジェクト モデルを使用して、一連の画面関連の共通デザイン タスクを実行する方法を示します。 アプリケーションでコードを記述できる場所の詳細については、次のトピックを参照してください。

一般的なタスク

画面オブジェクト モデルを使用して実行できるいくつかの一般的なデータ関連タスクを次に示します。

  • コントロールを非表示、読み取り専用、または無効にする

コントロールを非表示、読み取り専用、または無効にする

コードを使用して、画面上のコントロールを表示または非表示にすることができます。 コントロールを読み取り専用または無効のどちらにするかを指定することもできます。

次の例では、会社名が Great Lakes Food Market の場合、データ グリッド内に会社名が表示されません。 この例では、コントロールを読み取り専用にするため、視聴者はコントロールにテキストを入力して会社名を変更できないようになります。

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++;
    }

}

次の例では、選択したアイテムの会社名が Great Lakes Food Market の場合、画面上の詳細表示で会社名は表示されません。 この例では、[削除] ボタンを無効にするため、ユーザーは Great Lakes Food Market で働く顧客を削除できません。

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;
    }
}

参照

処理手順

方法: Silverlight の画面イベントを処理する

概念

コードを使用したデータ関連タスクの実行

その他の技術情報

画面: LightSwitch アプリケーションのユーザー インターフェイス