2012-02-29 12 views
0

私が動的に作成したコントロールはラジオボタンです。コードビハインドで作成されたラジオボタンのIsCheckedプロパティに従って、ハイパーリンクボタンの表示を制御しようとしています。私のXAMLファイルでデータバインディング - XAMLでは、動的に作成されたコントロールのプロパティにデータバインドする方法は?

<HyperlinkButton Visibility="{Binding IsChecked, ElementName=tempRadio, Converter={StaticResource visibilityConvert}}" Content="Insert Record" Click="addRecord" Background="Aqua" Foreground="White"></HyperlinkButton> 

どうやら私はそれだけXAMLで作成されたコントロールのためにあるので、私は、このケースでのElementNameを使用する必要があるとは思いません。

私のC#ファイルで

:私はこれで始めるでしょう

public RadioButton tempRadio; 

    ... 

答えて

0

が最初にあなたのハイパーリンク

hyperlinkBut​​ton.BindingTarget = tempRadio.IsCheckedに結合ターゲットを設定します。

次に、バインディングを設定します。 hyperlinkBut​​ton.SetBinding(hyperlinkBut​​ton.BindingTarget、CreateValueBinding());

プライベートバインドCreateValueBinding() { var valueBinding = new Binding(); valueBinding.Mode = BindingMode.TwoWay; valueBinding.NotifyOnValidationError = true; valueBinding.ValidatesOnExceptions = true; valueBinding.UpdateSourceTrigger = UpdateSourceTrigger.Explicit;valueBinding.Path =新しいPropertyPath(this.DataMemberBinding.Path.Path); 戻り値バインディング。 }

+0

しかし、これをXAMLから動的に作成されたラジオボタンを参照する方法があります。ありがとう –

+0

私はそうは思わない、あなたは残りのコードの中に何かを作成する場合は、そこに夢中にされなければならないと思います。ラジオをXAMLに入れる必要がある場合は、Visibility.Collapsedでラジオを作成したいと思うかもしれません。コンテキストを提供するコードがない場合、これは本当に難しいです。 – bperreault

関連する問題