我在MVVM模式下使用WPF和VB.Net。
我正在尝试编辑数据库中的记录提取。我的文本框在viewmodel中的属性中绑定,当我突出显示文本然后从键盘按退格键时,我注意到它没有检测到文本框中的值已被删除。我忘记了什么吗?
这是我的XAML:
<TextBox Text="{Binding TimeTaken,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay,ValidatesOnDataErrors=True}" TextChanged="txt_TextChanged" Style="{StaticResource DialogTextBox}" Height="23" Width="100" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="2"/>
这是我在ViewModel中的属性:
Public Property TimeTaken As Single
Get
Return Me.GetPropertyValue(Reflection.MethodBase.GetCurrentMethod.Name)
End Get
Set(ByVal value As Single)
Me.SetPropertyValue(Reflection.MethodBase.GetCurrentMethod.Name, value)
End Set
End Property
我只在使用高亮显示删除时遇到它。但是当我删除每个文本时,将设置更改。
答案 0 :(得分:1)
因为您绑定到Text(String)&lt; - &gt;单身, 它处理文本和Casts(Single)的输入,当给出empty.string时,cast会返回任何内容。 您可以使用转换器..但真正的问题是为什么不绑定到String类型属性,因为最后您在setter中设置了某个对象的Name属性。