小编mgo*_*ild的帖子

'绑定'只能在DependencyObject的DependencyProperty上设置

从基于的自定义控件TextBox,我Items以这种方式创建了一个名为的属性:

public class NewTextBox : TextBox
{
    public ItemCollection Items { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在XAML中使用自定义控件时,我无法绑定属性,因为它引发异常"A'Binding'只能在DependencyObject的DependencyProperty上设置."

我该如何解决这个例外?

c# wpf binding user-controls dependency-properties

49
推荐指数
4
解决办法
5万
查看次数

TextBox已更新后的KeyUp事件

TextBox在WPF中考虑这个基础:

<TextBox Name="textBox1" KeyUp="textBox1_KeyUp" />
Run Code Online (Sandbox Code Playgroud)

事件:

using System.Diagnostics;
...
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{ Debug.WriteLine(textBox1.Text + "; " + e.Key.ToString()); }
Run Code Online (Sandbox Code Playgroud)

如果我TextBox在输出中键入慢是:

t; T
te; E
tes; S
test; T
Run Code Online (Sandbox Code Playgroud)

但是如果我输入快,输出是错误的(注意处理键ES已经存在):textBox1.Text

t; T
tes; E
test; S
test; T
Run Code Online (Sandbox Code Playgroud)

我想处理正确的e.Key(最后按下).在我看来,事件没有像TextBox.Text财产一样快.有没有办法解决这个问题?

c# wpf textbox .net-4.0 wpf-controls

2
推荐指数
1
解决办法
2101
查看次数