Ich programmiere eine WPF-Client-Anwendung. Ich habe eine Pause-API, der WPF-Client kommuniziert damit. Ich habe eine Combobox in WPF erstellt, die Datenbindung ist in Ordnung.Wie kann ich Benutzername mit Benutzer-ID in generische Liste wpf C# bekommen?
XAML-Markup:
<ComboBox Name="usernameBox" HorizontalAlignment="Left"
Margin="127,33,0,0" VerticalAlignment="Top" Width="152" Height="24"
ItemsSource="{Binding UserList}" DisplayMemberPath="Username"/>
Dies funktioniert gut. Aber ich habe eine generische Liste Userlist
, ich bin dies für die Combobox verbindlich. Ich möchte, dass für den Benutzernamen der Combobox ich eine Variable mit Benutzer-ID erhalten kann.
Modell \ Users Klasse:
namespace Desktop.Model
{
public class Users
{
public int UserId { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public string Fullname { get; set; }
public int Authority { get; set; }
}
}
Ansichtsmodell/UserViewModel Klasse:
using GalaSoft.MvvmLight;
using Desktop.Model;
using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Net.Http.Formatting;
using Newtonsoft.Json;
namespace Desktop.ViewModel
{
public class UserViewModel : ViewModelBase
{
public List<Users> UserList { get; set; }
public UserViewModel()
{
UserList = new List<Users>();
string url = "http://localhost:1234/api/users";
var json = new WebClient().DownloadString(url);
UserList = JsonConvert.DeserializeObject<List<Users>>(json);
}
}
}
Get api/Benutzer json:
[
{
"UserID": 1,
"Username": "admin",
"Password": "password",
"Fullname": "teszt",
"Authority": 1
}
]
Sorry für mein schlechtes Englisch. Bitte hilf mir! Vielen Dank.
Verwenden Sie SelectedItem Bindung und in ausgewählten Element haben Sie das gesamte Benutzerobjekt. Willst du das machen? – Mohit