假设我有一个在运行时得到一些值的变量,我有一些按钮,我希望使用WPF / XAML从变量中显示该值。我将能够绑定按钮上显示的内容用变量的值。 假设按钮显示而变量是show_value。
答案 0 :(得分:0)
将按钮的content属性绑定到包含要显示的字符串的变量 - 确保显式实现INotifyPropertyChanged或使用dependency属性更新值:
<Button Content={Binding variable_name} />
此时了解您的数据背景非常重要。
答案 1 :(得分:0)
使用ElementName
<StackPanel>
<TextBox Text="{Binding Value}" x:Name="TBox"/>
<Button Content="{Binding Text,ElementName=TBox}"></Button>
</StackPanel>
- 在您的视图模型后面的代码中实现INotifyPropertyChanged
Interface
,
public partial class MainWindow : Window,INotifyPropertyChanged
{
private string _value ;
public string Value
{
get
{
return _value;
}
set
{
if (_value == value)
{
return;
}
_value = value;
OnPropertyChanged();
}
}
public MainWindow()
{
InitializeComponent();
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
}
}
- 使用代码
设置视图DataContext
this.DataContext=this;
或通过Xaml
DataContext="{Binding RelativeSource={RelativeSource Self}}"
更新UI,使按钮的内容绑定到变量:
<Grid>
<StackPanel>
<Button Content="{Binding Value}"></Button>
</StackPanel>
</Grid>