WPF项目中使用GetValue()获取TextBox值报错的技术咨询
解决WPF中用GetValue()获取TextBox值的报错问题
错误原因
你写的GetValue(TextBox)报错,核心原因是GetValue()要求传入具体的依赖属性(DependencyProperty)实例,而TextBox是控件类型,不是依赖属性对象,所以编译器会提示类型不可用。
正确实现方式
方式1:用GetValue()获取(匹配你的需求场景)
首先确保你有一个TextBox的实例(比如XAML里给控件加了x:Name="MyTextBox"),然后调用实例的GetValue()方法,传入TextBox.TextProperty这个依赖属性:
// 假设你的TextBox实例名为myTextBox string inputValue = (string)myTextBox.GetValue(TextBox.TextProperty);
方式2:直接访问Text属性(更简洁常用)
WPF的TextBox已经把Text依赖属性封装成了普通属性,直接访问比调用GetValue()更直观,日常开发里更常用:
string inputValue = myTextBox.Text;
额外说明
GetValue()是DependencyObject的方法,所有WPF控件都继承自这个类。使用它的规则很明确:必须针对具体的控件实例调用,参数必须是该控件对应的依赖属性字段(比如TextBox.TextProperty、CheckBox.IsCheckedProperty这类),绝对不能传控件类型。
内容的提问来源于stack exchange,提问作者github host2
相关产品推荐
相关产品推荐

