2
我对WPF概念很陌生。我只想在文本框中显示一个字符串。我尝试了下面的C#代码和XAML将一个字符串绑定到TextBox.Text属性。 C#代码:从代码背后的数据到XAML的简单绑定
public partial class Window1 : Window
{
public int TmpVal;
public string TmpStr;
public Window1()
{
TmpVal = 50;
TmpStr = "Windows Created";
InitializeComponent();
this.DataContext = this;
}
private void viewButton_Click(object sender, RoutedEventArgs args)
{
TmpStr = "Button clicked";
}
}
}
XAML:
<Window x:Class="TestWPF.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="600" Width="800" x:Name="ThisWindow">
<Grid>
<TextBox Name="txtTest1" Margin="200,0,200,200" HorizontalAlignment="Left" Height="50" Width="200" Text="{Binding TmpStr, ElementName=ThisWindow}" />
<Button Name="butTest1" Click="viewButton_Click">Test123</Button>
</Grid>
</Window>
在执行时我总是空白文本在我的文本框(甚至当我调用的单击事件)。
我浏览了stackoverflow网站,但无法解决问题(虽然很多问题都接近这个问题)
有人可以建议我,如果有什么被忽视或错过?
为什么XXXChanged事件不工作了?我在哪里可以读到这个? – 2009-11-06 12:11:17
我认为只有在一些CTP或v1的早期beta版本中才有。 – bitbonk 2009-11-06 12:44:38
您应该在Property Setter中实现'PropertyChanged'代码。因此,如果你的财产被代码更改,UI将更新。 – ChrisF 2009-11-09 13:37:50