我动态创建的控件是一个单选按钮,我试图根据代码隐藏中创建的单选按钮的IsChecked属性来控制超链接按钮的可见性。
在我的XAML文件中:
<HyperlinkButton Visibility="{Binding IsChecked, ElementName=tempRadio, Converter={StaticResource visibilityConvert}}" Content="Insert Record" Click="addRecord" Background="Aqua" Foreground="White"></HyperlinkButton>
显然我认为在这种情况下我不应该使用ElementName,因为它仅适用于在XAML中创建的控件。
在我的C#文件中:
public RadioButton tempRadio;
...
答案 0 :(得分:0)
我会从这开始:
首先在超链接上设置绑定目标
hyperlinkButton.BindingTarget = tempRadio.IsChecked;
然后设置绑定: hyperlinkButton.SetBinding(hyperlinkButton.BindingTarget,CreateValueBinding());
private Binding CreateValueBinding() { var valueBinding = new Binding(); valueBinding.Mode = BindingMode.TwoWay; valueBinding.NotifyOnValidationError = true; valueBinding.ValidatesOnExceptions = true; valueBinding.UpdateSourceTrigger = UpdateSourceTrigger.Explicit; valueBinding.Path = new PropertyPath(this.DataMemberBinding.Path.Path); return valueBinding; }