Wpf 为什么TextBox控件上没有IsReadOnlyChanged事件?
我添加了一些解决方案代码来修复中概述的错误,当WPF文本框更改为启用、可见或只读状态时,任何拼写检查自定义词典都会被删除,直到禁用并重新启用拼写检查,最简单的修复似乎是处理IsVisibleChanged、IsEnabledChanged和IsReadOnlyChanged事件Wpf 为什么TextBox控件上没有IsReadOnlyChanged事件?,wpf,textbox,event-handling,spell-checking,readonly,Wpf,Textbox,Event Handling,Spell Checking,Readonly,我添加了一些解决方案代码来修复中概述的错误,当WPF文本框更改为启用、可见或只读状态时,任何拼写检查自定义词典都会被删除,直到禁用并重新启用拼写检查,最简单的修复似乎是处理IsVisibleChanged、IsEnabledChanged和IsReadOnlyChanged事件 很简单,对吧?除非没有IsReadOnlyChanged事件。有人知道为什么以及在WPF文本框中捕获对IsReadOnly的更改的最佳方法是什么吗 您始终可以使用 您始终可以通过以下方式跟踪依赖项属性的更改: 创建自定义
很简单,对吧?除非没有IsReadOnlyChanged事件。有人知道为什么以及在WPF文本框中捕获对IsReadOnly的更改的最佳方法是什么吗 您始终可以使用
您始终可以通过以下方式跟踪依赖项属性的更改:
创建自定义类并处理OnPropertyChanged事件。像这样的事情:
public class MyTextBox: TextBox
{
public MyTextBox() { }
protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e)
{
base.OnPropertyChanged(e);
if (e.Property.ToString() == "IsReadOnly")
{
// here you are sure that ContentPropertyhas changed
}
}
}
创建自定义类并处理OnPropertyChanged事件。像这样的事情:
public class MyTextBox: TextBox
{
public MyTextBox() { }
protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e)
{
base.OnPropertyChanged(e);
if (e.Property.ToString() == "IsReadOnly")
{
// here you are sure that ContentPropertyhas changed
}
}
}
+1,但为OP的具体问题添加一个示例将大大增强您的答案。酷。我想一定有办法处理这件事。谢谢+1,但为OP的具体问题添加一个示例将大大增强您的答案。酷。我想一定有办法处理这件事。谢谢