我绑定TextBox.Text到int
属性整数属性:WPF绑定的TextBox没有抛出异常
<TextBox Text="{Binding Lines, UpdateSourceTrigger=PropertyChanged}" />
private int _lines = 10;
public int Lines
{
get { return _lines; }
set { _lines = value; }
}
一切如预期这个简单的代码工作,有一个文本框,甚至验证。然而,在输出日志中抛出异常System.FormatException
。我的问题是:
有没有优雅的方式摆脱例外,而几乎没有重新实现一切我自己?
通过我所说的一切,我的意思是验证者,转换器等简单吨代码不做任何事情,只是拨打Int32.TryParse
而不是Int32.Parse
。不是wpf抛出和处理的异常将是一个大问题,但完整的日志使得发现实际问题变得更加困难。
你可以防止用户输入无效值 – Domysee
@Domysee你的意思是像处理textChanged和回滚字段,如果它不能被解析?我想这可以工作 - 不完全一样的行为,但它可以。 – wondra
确切地说,我会处理PreviewKeyDown事件,并取消它的无效键,但原则上它是相同的 – Domysee