文本框绑定无法将“System.Reflection.RuntimeEventInfo”类型的对象转换为“System.Reflection.MethodInfo”类型

Posted

技术标签:

【中文标题】文本框绑定无法将“System.Reflection.RuntimeEventInfo”类型的对象转换为“System.Reflection.MethodInfo”类型【英文标题】:Textbox binding Unable to cast object of type 'System.Reflection.RuntimeEventInfo' to type 'System.Reflection.MethodInfo' 【发布时间】:2021-10-23 12:45:21 【问题描述】:

我想检查格式 00:00 的 TextBox 中的输入是否匹配。所以我在我的 ViewModel 中创建了一个方法:

private void MinPauseTextChanged(object sender, TextChangedEventArgs args)

   //check text..

我在 XAML 中的绑定如下所示:

<TextBox Grid.Row="0" Grid.Column="1" x:Name="TextBoxSettingMinPause" TextChanged="Binding Path=MinPauseTextChanged" Text="Binding Path=MinPauseSetting"/>

我总是收到此错误,但我不知道为什么,我按照 Microsoft 网站上的说明进行操作:https://docs.microsoft.com/en-us/dotnet/api/system.windows.controls.textchangedeventargs?view=net-5.0

这是我的错误代码: InvalidCastException:“System.Reflection.RuntimeEventInfo”类型的对象不能隐式转换为“System.Reflection.MethodInfo”。

【问题讨论】:

【参考方案1】:

编辑: 只需将 StringFormat 添加到您的 XAML 代码中,如下所示:

<TextBox Grid.Row="0" Grid.Column="1" x:Name="TextBoxSettingMinPause" Text="Binding Path=MinPauseSetting, StringFormat=00:00" />

并删除方法...

【讨论】:

以上是关于文本框绑定无法将“System.Reflection.RuntimeEventInfo”类型的对象转换为“System.Reflection.MethodInfo”类型的主要内容,如果未能解决你的问题,请参考以下文章

MS Access Report 无法在未绑定的文本框中输入文本

将文本框绑定到 comboBox.SelectedItem 的属性

将多行绑定到文本框以进行编辑+更新

根据组合框选择更改文本框值

XAML:将文本框最大长度绑定到类常量

如何将文本框绑定到 XML 文件(带有命名空间)