Wpf 登录表单组合框实体框架错误

Wpf 登录表单组合框实体框架错误,wpf,Wpf,我正在尝试制作一个登录表单,但我无法确定如何从组合框中检索用户名,我这样做了: xaml: 这是代码中的代码: NioRepairContext ctx; public MainWindow() { InitializeComponent(); FillComboUsers(); } public List<User> user { get; set; } private void FillComboUsers() { ctx = new NioRepa

我正在尝试制作一个登录表单,但我无法确定如何从组合框中检索用户名,我这样做了:

xaml:


这是代码中的代码:

NioRepairContext ctx;
public MainWindow()
{
    InitializeComponent();
    FillComboUsers();
}

public List<User> user { get; set; }
private void FillComboUsers()
{
    ctx = new NioRepairContext();
    var item = ctx.Users.ToList();
    user = item;
    DataContext = user;
}

private void BtnLogIn_Click(object sender, RoutedEventArgs e)
{
    var user = ctx.Users.Where(i => i.userName == ComboUsers.SelectedItem.ToString()).FirstOrDefault();
    if (user == null)
    {
        MessageBox.Show("Login Fallito, Credenziali inesatte");
    }
    if (user.userName == ComboUsers.SelectedItem.ToString() && user.password == passBox.Password.ToString())
    {
        MessageBox.Show("Benvenuto " + user.userName+ ", Login Corretto");   
    }
    else
    {
        MessageBox.Show("Login Fallito, Credenziali inesatte");   
    }
}
ctx;
公共主窗口()
{
初始化组件();
FillComboUsers();
}
公共列表用户{get;set;}
私有void FillComboUsers()
{
ctx=新的NioRepairContext();
var item=ctx.Users.ToList();
用户=项目;
DataContext=用户;
}
私有void BtnLogIn\u单击(对象发送者,路由目标e)
{
var user=ctx.Users.Where(i=>i.userName==ComboUsers.SelectedItem.ToString()).FirstOrDefault();
if(user==null)
{
MessageBox.Show(“登录Fallito,Credenziali-inesatte”);
}
if(user.userName==ComboUsers.SelectedItem.ToString()&&user.password==passBox.password.ToString())
{
MessageBox.Show(“Benvenuto”+user.userName+”,Login Corretto);
}
其他的
{
MessageBox.Show(“登录Fallito,Credenziali-inesatte”);
}
}

我无法理解我是否入侵了combobox绑定或其他

,因为您已将
项资源
属性绑定到您的
列表
,您可以使用
SelectedItem
属性获取所选用户:

var selectedUser = ComboUsers.SelectedItem as User;
string name = selectedUser.userName;
您还可以从XAML中删除
SelectedItem
SelectedValuePath
属性,因为您没有任何要绑定的源属性:

<ComboBox x:Name="ComboUsers" ItemsSource="{Binding}" DisplayMemberPath="userName" HorizontalAlignment="Left" Margin="209,72,0,0" VerticalAlignment="Top" Width="120"/>

请记住接受答案,然后:
<ComboBox x:Name="ComboUsers" ItemsSource="{Binding}" DisplayMemberPath="userName" HorizontalAlignment="Left" Margin="209,72,0,0" VerticalAlignment="Top" Width="120"/>