TextBlock
不提供用户对文本内容的编辑,因为它只是一个轻量级的控件来显示文本(在windows store中,如在Windows Phone中)。由于其内容只能以编程方式进行更改,因此在更改时不会发生任何事件。您可以在TextBlock
here上看到活动。在Windows应用商店应用中,用户可编辑文本仍然有一个TextBox
控件。这has a TextChanged
event。
如果您确实需要知道Text
属性何时更新,您可以设置绑定到该依赖项属性。您可以创建更改处理提供您通知自己的自定义依赖项属性:
class MyClass {
public static readonly DependencyProperty MyTextProperty = DependencyProperty.Register("MyText", typeof(MyClass), typeof(string), new PropertyMetadata(null, OnMyTextChanged));
public static void OnMyTextChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) {
// Do something
}
}
然后,你需要的属性某处绑定:
// myObj something of type MyClass
obj.SetBinding(textBlock, new Binding { Source = myObj, Path = new PropertyPath("MyText") });
感谢您的回答,已经我使用文本块作为定制文本框在我的App.Can你给我更多的细节或任何教程绑定到依赖属性。 – DesertRiver
已更新以显示使用这种绑定的示例。 Windows应用商店应用上的任何图书都应该包含创建并绑定到依赖项属性。 MSDN在这里:http://msdn.microsoft.com/en-us/library/windows/apps/hh920267.aspx –