问题描述
@L_404_0@
当我按下按钮“ Bewaar”(又名“保存”)时,它将存储在数据库中,但是由于未链接到任何“分支”,因此不会在应用程序中显示。我似乎找不到解决方案,尝试更改Car类并尝试在viewmodels中处理一些代码。
此图显示查询(从Filiaal中选择*) Show Car in database Branches
图片翻译
- Filialen =分支机构
- 子代=分支
- Naam Bestuurder =名称驱动程序
- Merk Wagen =品牌车
- Wagen类型=汽车类型
- Bewaar =保存
- Annuleer =取消
下面的代码
AddWagenView.xaml中的组合框代码
<ComboBox
Grid.Row="0" Grid.Column="1"
ItemsSource="{Binding Filialen}"
>
</ComboBox>
汽车课
namespace EB.bedrijfswagenBeheer.Data
{
[Table("tblWagens")]
public class Wagen
{
//Fields
private string _type;
private string _merk;
private string _bestuurder;
//Constructors
internal Wagen() : this(null,null)
{
}
internal Wagen(int id,string type,string merk)
{
Id = id;
Type = type;
Merk = merk;
}
internal Wagen(int id,string merk,string bestuurder)
{
Id = id;
Type = type;
Merk = merk;
Bestuurder = bestuurder;
}
public Wagen(String type,String merk) : this(0,type,merk)
{
}
public Wagen(String type,String merk,String bestuurder) : this(0,merk,bestuurder)
{ }
//Properties
[Key]
public int Id { get; set; }
// Elke wagen heeft een type. (Voorbeelden: PickUp,SUV,Coupé,Camionette,...)
public String Type
{
get { return _type; }
set { _type = value; }
}
// Elke wagen heeft een merk. (Voorbeelden: Citroën,BMW,Volkswagen,Skoda,Mercedes,Audi,...)
public String Merk
{
get { return _merk; }
set { _merk = value; }
}
// Een wagen behoort tot een bestuurder.
public String Bestuurder
{
get { return _bestuurder; }
set { _bestuurder = value; }
}
//Methods
public override string ToString()
{
return $"{Merk} ({Type}) - {Bestuurder}";
}
}
}
F节
namespace EB.bedrijfswagenBeheer.Data
{
[Table("tblFilialen")]
public class Filiaal
{
//Constructors
internal Filiaal() : this(null)
{}
internal Filiaal(int id,string naam)
{
Id = id;
Naam = naam;
Wagens = new List<Wagen>();
}
public Filiaal(String naam) : this(0,naam)
{}
//Properties
[Key]
public int Id { get; set; }
public String Naam { get; set; }
//Lijst van wagens binnenin een filiaal
public List<Wagen> Wagens { get; set; }
//Methodes
//Tonen naam van filialen en de aantaal wagens binnenin het filiaal
public override string ToString()
{
return $"{Naam} (#{Wagens.Count} wagens)";
}
}
}
WagenAddviewmodel
namespace EB.bedrijfswagenBeheer.App.viewmodels
{
class WagenAddviewmodel : Baseviewmodel
{
private bedrijfswagenBeheerRepository _repository;
private Wagen _addWagen = new Wagen("","");
private ObservableCollection<Filiaal> _filialen;
public WagenAddviewmodel(bedrijfswagenBeheerRepository repository)
{
_repository = repository;
_filialen = _repository.GetFilialen();
SaveCommand = new RelayCommand(SaveChanges);
CancelCommand = new RelayCommand(CancelChanges);
Titel = "Add Wagen";
}
public ObservableCollection<Filiaal> Filialen
{
get { return _filialen; }
set
{
if (_filialen != value)
{
_filialen = value;
OnPropertyChanged();
}
}
}
public Wagen AddWagen
{
get { return _addWagen; }
set
{
if (_addWagen != value)
{
_addWagen = value;
OnPropertyChanged();
}
}
}
public event Action<Boolean> ReturnToViewRequested;
#region SaveCommand
public RelayCommand SaveCommand { get; private set; }
public void SaveChanges()
{
_repository.AddWagen(AddWagen);
AddWagen = new Wagen("","");
ReturnToViewRequested?.Invoke(true);
}
#endregion SaveCommand
#region CancelCommand
public RelayCommand CancelCommand { get; set; }
public void CancelChanges()
{
AddWagen = new Wagen("","");
ReturnToViewRequested?.Invoke(false);
}
#endregion CancelCommand
}
}
显示所有汽车的视图(FiliaalDetailViewviewmodel) Image with the right side shown
namespace EB.bedrijfswagenBeheer.App.viewmodels
{
public class FiliaalDetailViewviewmodel : Baseviewmodel
{
//Fields
private bedrijfswagenBeheerRepository _repository;
private Wagen _wagen;
private Filiaal _filiaal;
private ObservableCollection<Filiaal> _filialen;
private ObservableCollection<Wagen> _wagens;
private Wagen _selectedWagen;
//Constructors
public FiliaalDetailViewviewmodel(bedrijfswagenBeheerRepository repository)
{
_repository = repository;
Titel = "Wagens";
DeleteCommand = new RelayCommand(DeleteWagen,CanDeleteWagen);
EditCommand = new RelayCommand<Wagen>(EditWagen,CanEditWagen);
AddCommand = new RelayCommand(AddWagen);
}
//Add Wagen
public ObservableCollection<Wagen> Wagens
{
get { return _wagens; }
set
{
if (_wagens != value)
{
_wagens = value;
OnPropertyChanged();
}
}
}
public ObservableCollection<Filiaal> Filialen
{
get { return _filialen; }
set
{
if (_filialen != value)
{
_filialen = value;
OnPropertyChanged();
}
}
}
//Properties
public Wagen Wagen
{
get { return _wagen; }
set
{
if (_wagen != value)
{
_wagen = value;
OnPropertyChanged();
Titel = $"Wagen: {Wagen}";
}
}
}
public Filiaal Filiaal
{
get { return _filiaal; }
set
{
if (_filiaal != value)
{
_filiaal = value;
OnPropertyChanged();
Titel = $"Filiaal: {Filiaal}";
}
}
}
public Wagen SelectedWagen
{
get { return _selectedWagen; }
set
{
if (_selectedWagen != value)
{
_selectedWagen = value;
OnPropertyChanged();
}
}
}
//Methods
#region AddWagen
public RelayCommand AddCommand { get; private set; }
public event Action AddWagenRequested;
public void AddWagen()
{
AddWagenRequested?.Invoke();
}
#endregion AddWagen
public void RefreshFilialen()
{
Filialen = _repository.GetFilialen();
}
#region DeleteWagen
public RelayCommand DeleteCommand { get; private set; }
public void DeleteWagen()
{
MessageBoxResult result = MessageBox.Show($"Zeker dat je '{SelectedWagen.ToString()}' wilt verwijderen?",$"Verwijder Wagen",MessageBoxButton.YesNo,MessageBoxImage.Question);
if (result == MessageBoxResult.Yes)
{
_repository.DeleteWagen(SelectedWagen);
RefreshFilialen();
RefreshWagens();
}
}
private Boolean CanDeleteWagen()
{
return SelectedWagen != null;
}
public void RefreshWagens()
{
Wagens = _repository.GetWagens();
}
#endregion DeleteWagen
#region EditWagen
public RelayCommand<Wagen> EditCommand { get; private set; }
public event Action<Wagen> EditWagenRequested;
public void EditWagen(Wagen wagen)
{
EditWagenRequested?.Invoke(wagen);
}
public Boolean CanEditWagen(Wagen wagen)
{
return wagen != null;
}
#endregion EditWagen
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)