2011-04-29 6 views
0

できるだけコードシェアを小さくして、XAMLを使用したいと思います。Silverlight Dataform EditTemplateのコントロールをチェックボックスの状態に基づいて表示させるにはどうすればいいですか?


[X]チェックボックス1

[コントロールパネル]


私は以下のコントロールのセットを表示したい:私はこのようになりますカスタムテンプレートの編集でデータフォームを持っています"チェックボックス1"コントロール(コントロールパネルがある)IFチェックボックス1がチェックされ、チェックが外されている場合は、別のコントロールセットが表示されます。

私はSilverlight 4(すぐにSL 5を使用します)を使用しています。 「ActivePanel」IDなどを設定してアクティブなパネルを表示できるようにするSilverlightコントロールホルダーはありますか?

ありがとうございました

答えて

0

あなたはMVVMに精通している場合は、CheckBox.IsCheckedが(もちろん、あなたが正しいコンバータを使用する必要があります)にバインドされていることと同じプロパティに、あなたのグリッドの可視性をちょうどバインドすることができます。

+0

私はこの方法を使い終わった:http://www.rhyous.com/2011/02/22/binding-visibility-to-a-bool-value-in-wpf/ –

0

ちょうど2つのパネルがあります。たとえば。

<Grid x:Name="OnGrid" Visibility="Collapsed" /> 
<Grid x:Name="OffGrid" Visibility="Collapsed" /> 
<CheckBox Content="CheckBox" Unchecked="CheckBox_Unchecked" Checked="CheckBox_Checked"/> 

コードビハインドイベントのそれぞれの表示を非表示にしてチェックします。

または、コンバータを使用してxamlですべてを行うことができます。たとえば。

は、このリンクを参照してください:Silverlight 4: how to switch control visibility

+0

コードを使用しないようにする方法はありますか?同様にVisibility属性で{Binding}を使用し、バインディングでチェックボックスのIsChecked値を参照できますか?バインド戻り値は、2番目のパネルでは逆にする必要があります。 –

+0

はいできます。あなたはbooleantovisibilityコンバータを書く必要があります –

関連する問題