问题是:
这适用于使用 C# 和 LINQ to SQL 的 WPF 应用。
当用户想要查看客户列表时,他/她开始在文本框中输入姓名。 textchanged 事件使用输入文本来定义过滤列表的 LINQ 语句的 where 子句。
我目前有两个这样的文本框,它们运行基本相同的代码,但我无法将这些代码缩减为一个函数 - 我将在更多地方使用客户列表。
下面是一些代码:
private void CustomerListFiller(object sender, TextChangedEventArgs e)
{
string SearchText;
FrameworkElement feSource = e.Source as FrameworkElement;
***SearchText = sender.Text;***
var fillCustList = from c in dbC.Customers
where c.CustomerName.StartsWith(SearchText)
orderby c.CustomerName
select new
{
c.CustomerID,
c.CustomerName
};
粗斜体线是问题所在。我不知道如何获取发件人的文本值以在 StartsWith 函数中使用。错误信息是:
错误 1“对象”不包含“文本”的定义,并且找不到接受“对象”类型的第一个参数的扩展方法“文本”(您是否缺少 using 指令或程序集引用?)
最佳答案
您必须将“sender”变量转换为 TextBox:
SearchText = (sender as TextBox).Text;
关于c# - 帮助解决错误 "' 对象'不包含 'Text' 的定义“,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2101203/