Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit e1b22fb6 authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

Merge branch 'feature/VECTO_GUI' of git+ssh://129.27.107.191:2211/vecto-dev into feature/VECTO_GUI

parents 79aaae84 d46fee70
Branches
Tags
No related merge requests found
Showing
with 152 additions and 136 deletions
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Runtime.Remoting.Channels;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using VECTO3GUI.ViewModel.Impl; using VECTO3GUI.ViewModel.Impl;
namespace VECTO3GUI.Model namespace VECTO3GUI.Model
{ {
//public enum AlternatorTechnology
//{
// Empty,
// Default
//}
//public static class AlternatorTechnologyHelper
//{
// public static string GetLabel(this AlternatorTechnology technology)
// {
// switch (technology) {
// case AlternatorTechnology.Default:
// return nameof(AlternatorTechnology.Default).ToLower();
// default:
// return string.Empty;
// }
// }
// public static AlternatorTechnology Parse(string technologyName)
// {
// switch (technologyName.ToLower()) {
// case "default":
// return AlternatorTechnology.Default;
// default:
// return AlternatorTechnology.Empty;
// }
// }
//}
public class AlternatorTechnologyModel : ObservableObject public class AlternatorTechnologyModel : ObservableObject
{ {
public string _alternatorTechnology; public string _alternatorTechnology;
......
...@@ -17,23 +17,26 @@ namespace VECTO3GUI.Model.TempDataObject ...@@ -17,23 +17,26 @@ namespace VECTO3GUI.Model.TempDataObject
public string Model { get; set; } public string Model { get; set; }
public string CertificationNumber { get; set; } public string CertificationNumber { get; set; }
public DateTime? Date { get; set; } public DateTime? Date { get; set; }
public bool NoAirdragData { get; set; }
public bool UseMeasuredValues { get; set; } public bool UseMeasuredValues { get; set; }
public SquareMeter CdxA_0 { get; set; } public SquareMeter CdxA_0 { get; set; }
public SquareMeter TransferredCdxA { get; set; } public SquareMeter TransferredCdxA { get; set; }
public SquareMeter DeclaredCdxA { get; set; } public SquareMeter DeclaredCdxA { get; set; }
public string AppVersion { get; set; } public string AppVersion { get; set; }
public DigestData DigestValue { get; set; } public DigestData DigestValue { get; set; }
public bool NoAirdragData { get; set; }
public bool UseMeasurementData { get; set; }
#endregion #endregion
public AirdragComponentData(){} public AirdragComponentData(){}
public AirdragComponentData(IAirdragViewModel viewModel , bool defaultValues) public AirdragComponentData(IAirdragViewModel viewModel , bool defaultValues)
{ {
if(defaultValues) if(defaultValues)
ClearValues(viewModel); ClearValues(viewModel);
UseMeasurementData = viewModel.UseMeasurementData;
NoAirdragData = viewModel.NoAirdragData;
} }
public AirdragComponentData(IAirdragViewModel airdrag) public AirdragComponentData(IAirdragViewModel airdrag)
...@@ -48,6 +51,7 @@ namespace VECTO3GUI.Model.TempDataObject ...@@ -48,6 +51,7 @@ namespace VECTO3GUI.Model.TempDataObject
public void ResetToComponentValues(IAirdragViewModel viewModel) public void ResetToComponentValues(IAirdragViewModel viewModel)
{ {
viewModel.UseMeasurementData = UseMeasurementData;
viewModel.NoAirdragData = NoAirdragData; viewModel.NoAirdragData = NoAirdragData;
viewModel.Model = Model; viewModel.Model = Model;
viewModel.Manufacturer = Manufacturer; viewModel.Manufacturer = Manufacturer;
...@@ -75,6 +79,7 @@ namespace VECTO3GUI.Model.TempDataObject ...@@ -75,6 +79,7 @@ namespace VECTO3GUI.Model.TempDataObject
private void SetValues(IAirdragViewModel viewModel) private void SetValues(IAirdragViewModel viewModel)
{ {
UseMeasurementData = viewModel.UseMeasurementData;
NoAirdragData = viewModel.NoAirdragData; NoAirdragData = viewModel.NoAirdragData;
Model = viewModel.Model; Model = viewModel.Model;
Manufacturer = viewModel.Manufacturer; Manufacturer = viewModel.Manufacturer;
......
...@@ -42,6 +42,8 @@ namespace VECTO3GUI.Model.TempDataObject ...@@ -42,6 +42,8 @@ namespace VECTO3GUI.Model.TempDataObject
AlternatorTechnologies = new ObservableCollectionEx<AlternatorTechnologyModel>(); AlternatorTechnologies = new ObservableCollectionEx<AlternatorTechnologyModel>();
if (defaultValues) if (defaultValues)
ClearValues(viewModel); ClearValues(viewModel);
OriginAlternatorTechnologies = new List<AlternatorTechnologyModel>();
SetXmlNamesToPropertyMapping(); SetXmlNamesToPropertyMapping();
} }
...@@ -73,25 +75,22 @@ namespace VECTO3GUI.Model.TempDataObject ...@@ -73,25 +75,22 @@ namespace VECTO3GUI.Model.TempDataObject
viewModel.HeatPump = HeatPump; viewModel.HeatPump = HeatPump;
viewModel.AdjustableAuxiliaryHeater = AdjustableAuxiliaryHeater; viewModel.AdjustableAuxiliaryHeater = AdjustableAuxiliaryHeater;
viewModel.SeparateAirDistributionDucts = SeparateAirDistributionDucts; viewModel.SeparateAirDistributionDucts = SeparateAirDistributionDucts;
} }
private void SetAlternatorTechnology(ObservableCollectionEx<AlternatorTechnologyModel> res) private void SetAlternatorTechnology(ObservableCollectionEx<AlternatorTechnologyModel> res)
{ {
if (OriginAlternatorTechnologies == null) if (OriginAlternatorTechnologies == null)
return; return;
//var res = new ObservableCollectionEx<AlternatorTechnologyModel>();
res.Clear(); res.Clear();
for (int i = 0; i < OriginAlternatorTechnologies.Count; i++) { for (int i = 0; i < OriginAlternatorTechnologies.Count; i++) {
res.Add(new AlternatorTechnologyModel{AlternatorTechnology = OriginAlternatorTechnologies[i].AlternatorTechnology}); res.Add(new AlternatorTechnologyModel{AlternatorTechnology = OriginAlternatorTechnologies[i].AlternatorTechnology});
} }
//return res;
} }
public void ClearValues(IAuxiliariesViewModel viewModel) public void ClearValues(IAuxiliariesViewModel viewModel)
{ {
viewModel.AlternatorTechnologies.Clear(); // = default(ObservableCollectionEx<AlternatorTechnologyModel>); viewModel.AlternatorTechnologies.Clear();
viewModel.DayrunninglightsLED = default(bool); viewModel.DayrunninglightsLED = default(bool);
viewModel.HeadlightsLED = default(bool); viewModel.HeadlightsLED = default(bool);
viewModel.PositionlightsLED = default(bool); viewModel.PositionlightsLED = default(bool);
...@@ -124,7 +123,6 @@ namespace VECTO3GUI.Model.TempDataObject ...@@ -124,7 +123,6 @@ namespace VECTO3GUI.Model.TempDataObject
HeatPump = auxiliaries.HeatPump; HeatPump = auxiliaries.HeatPump;
AdjustableAuxiliaryHeater = auxiliaries.AdjustableAuxiliaryHeater; AdjustableAuxiliaryHeater = auxiliaries.AdjustableAuxiliaryHeater;
SeparateAirDistributionDucts = auxiliaries.SeparateAirDistributionDucts; SeparateAirDistributionDucts = auxiliaries.SeparateAirDistributionDucts;
} }
private List<AlternatorTechnologyModel> GetOriginAlternatorTechnologies(IAuxiliariesViewModel auxiliaries) private List<AlternatorTechnologyModel> GetOriginAlternatorTechnologies(IAuxiliariesViewModel auxiliaries)
......
...@@ -23,7 +23,18 @@ namespace VECTO3GUI.ViewModel.Impl ...@@ -23,7 +23,18 @@ namespace VECTO3GUI.ViewModel.Impl
private ICommand _saveJobCommand; private ICommand _saveJobCommand;
private ICommand _closeJobCommand; private ICommand _closeJobCommand;
private ICommand _saveAsJobCommand; private ICommand _saveAsJobCommand;
private Component _selectedComponent;
public Component SelectedComponent
{
get { return _selectedComponent; }
set
{
if (SetProperty(ref _selectedComponent, value)) {
DoEditComponent(_selectedComponent);
}
}
}
protected string XmlFilePath { get; private set; } protected string XmlFilePath { get; private set; }
...@@ -87,6 +98,17 @@ namespace VECTO3GUI.ViewModel.Impl ...@@ -87,6 +98,17 @@ namespace VECTO3GUI.ViewModel.Impl
protected virtual void DoEditComponent(Component component) protected virtual void DoEditComponent(Component component)
{ {
var nextView = GetComponentViewModel(component); var nextView = GetComponentViewModel(component);
if (CurrentComponent is AuxiliariesViewModel) {
var convert = CurrentComponent as AuxiliariesViewModel;
convert?.CacheAlternatorTechnologies();
}
if (nextView is AuxiliariesViewModel) {
var convert = nextView as AuxiliariesViewModel;
convert.LoadCachedAlternatorTechnologies();
}
CurrentComponent = nextView ?? Kernel.Get<INoneViewModel>(); CurrentComponent = nextView ?? Kernel.Get<INoneViewModel>();
} }
......
...@@ -148,7 +148,7 @@ namespace VECTO3GUI.ViewModel.Impl ...@@ -148,7 +148,7 @@ namespace VECTO3GUI.ViewModel.Impl
get { return _appVersion; } get { return _appVersion; }
set set
{ {
if (SetProperty(ref _appVersion, value)) if (!SetProperty(ref _appVersion, value))
return; return;
IsDataChanged(_appVersion, _componentData); IsDataChanged(_appVersion, _componentData);
} }
...@@ -162,9 +162,9 @@ namespace VECTO3GUI.ViewModel.Impl ...@@ -162,9 +162,9 @@ namespace VECTO3GUI.ViewModel.Impl
get { return _noAirdragData; } get { return _noAirdragData; }
set set
{ {
SetProperty(ref _noAirdragData, value); if(!SetProperty(ref _noAirdragData, value))
return;
IsDataChanged(_noAirdragData, _componentData); IsDataChanged(_noAirdragData, _componentData);
UseMeasurementData = !_noAirdragData;
} }
} }
...@@ -179,7 +179,12 @@ namespace VECTO3GUI.ViewModel.Impl ...@@ -179,7 +179,12 @@ namespace VECTO3GUI.ViewModel.Impl
public bool UseMeasurementData public bool UseMeasurementData
{ {
get { return _useMeasurementData; } get { return _useMeasurementData; }
set { SetProperty(ref _useMeasurementData, value); } set
{
if (!SetProperty(ref _useMeasurementData, value))
return;
IsDataChanged(_useMeasurementData, _componentData);
}
} }
...@@ -191,20 +196,21 @@ namespace VECTO3GUI.ViewModel.Impl ...@@ -191,20 +196,21 @@ namespace VECTO3GUI.ViewModel.Impl
_xmlFilePath = XmlHelper.GetXmlAbsoluteFilePath(xmlUri); _xmlFilePath = XmlHelper.GetXmlAbsoluteFilePath(xmlUri);
SetAirdragValues(_airdragData); SetAirdragValues(_airdragData);
UseMeasurementData = _airdragData?.AirDragArea != null;
NoAirdragData = !UseMeasurementData;
IsEditable = false; IsEditable = false;
} }
private void SetAirdragValues(IAirdragDeclarationInputData airdrag) private void SetAirdragValues(IAirdragDeclarationInputData airdrag)
{ {
UseMeasuredValues = airdrag?.AirDragArea != null; UseMeasuredValues = airdrag?.AirDragArea != null;
UseMeasurementData = _airdragData?.AirDragArea != null;
NoAirdragData = !UseMeasurementData;
if (airdrag?.AirDragArea == null) if (airdrag?.AirDragArea == null)
{ {
_componentData = new AirdragComponentData(this, true); _componentData = new AirdragComponentData(this, true);
return;
} }
else
{
Model = airdrag.Model; Model = airdrag.Model;
Manufacturer = airdrag.Manufacturer; Manufacturer = airdrag.Manufacturer;
CertificationNumber = airdrag.CertificationNumber; CertificationNumber = airdrag.CertificationNumber;
...@@ -215,6 +221,8 @@ namespace VECTO3GUI.ViewModel.Impl ...@@ -215,6 +221,8 @@ namespace VECTO3GUI.ViewModel.Impl
ReadAdditionalAirdragValues(); ReadAdditionalAirdragValues();
_componentData = new AirdragComponentData(this); _componentData = new AirdragComponentData(this);
}
ClearChangedProperties(); ClearChangedProperties();
} }
...@@ -239,7 +247,8 @@ namespace VECTO3GUI.ViewModel.Impl ...@@ -239,7 +247,8 @@ namespace VECTO3GUI.ViewModel.Impl
private void DoAirdragConfig(AirdragConfig config) private void DoAirdragConfig(AirdragConfig config)
{ {
switch (config) { switch (config)
{
case AirdragConfig.UseDefaultAirdragData: case AirdragConfig.UseDefaultAirdragData:
NoAirdragData = true; NoAirdragData = true;
break; break;
......
...@@ -19,9 +19,6 @@ using VECTO3GUI.Model.TempDataObject; ...@@ -19,9 +19,6 @@ using VECTO3GUI.Model.TempDataObject;
namespace VECTO3GUI.ViewModel.Impl namespace VECTO3GUI.ViewModel.Impl
{ {
public class AuxiliariesViewModel : AbstractComponentViewModel, IAuxiliariesViewModel public class AuxiliariesViewModel : AbstractComponentViewModel, IAuxiliariesViewModel
{ {
#region Members #region Members
...@@ -288,15 +285,17 @@ namespace VECTO3GUI.ViewModel.Impl ...@@ -288,15 +285,17 @@ namespace VECTO3GUI.ViewModel.Impl
public Dictionary<string, string> XmlNamesToPropertyMapping { get; private set; } public Dictionary<string, string> XmlNamesToPropertyMapping { get; private set; }
public ConsumerTechnology DoorDriveTechnology { get; set; }
public AllowedEntry<BusHVACSystemConfiguration>[] AllowedSystemConfigurations { get; private set; } public AllowedEntry<BusHVACSystemConfiguration>[] AllowedSystemConfigurations { get; private set; }
public AllowedEntry<ACCompressorType>[] AllowedDriverACCompressorTypes { get; private set; } public AllowedEntry<ACCompressorType>[] AllowedDriverACCompressorTypes { get; private set; }
public AllowedEntry<ACCompressorType>[] AllowedPassengerACCompressorTypes { get; private set; } public AllowedEntry<ACCompressorType>[] AllowedPassengerACCompressorTypes { get; private set; }
public AllowedEntry<string>[] AllowedAlternatorTechnology { get; private set; } public AllowedEntry<string>[] AllowedAlternatorTechnology { get; private set; }
#endregion #endregion
private List<AlternatorTechnologyModel> _cachedAlternators { get; set; }
protected override void InputDataChanged() protected override void InputDataChanged()
{ {
...@@ -323,13 +322,14 @@ namespace VECTO3GUI.ViewModel.Impl ...@@ -323,13 +322,14 @@ namespace VECTO3GUI.ViewModel.Impl
if (busAux == null) if (busAux == null)
{ {
_componentData = new AuxiliariesBusComponentData(this, true); _componentData = new AuxiliariesBusComponentData(this, true);
return; AlternatorTechnologies.CollectionChanged += AlternatorTechnologiesOnCollectionChanged;
AlternatorTechnologies.CollectionItemChanged += AlternatorTechnologiesOnCollectionItemChanged;
} }
else
{
if (!busAux.ElectricSupply.Alternators.IsNullOrEmpty()) if (!busAux.ElectricSupply.Alternators.IsNullOrEmpty())
{ {
AlternatorTechnologies.Clear();
AlternatorTechnologies.Clear(); // = new ObservableCollectionEx<AlternatorTechnologyModel>();
AlternatorTechnologies.CollectionChanged += AlternatorTechnologiesOnCollectionChanged; AlternatorTechnologies.CollectionChanged += AlternatorTechnologiesOnCollectionChanged;
AlternatorTechnologies.CollectionItemChanged += AlternatorTechnologiesOnCollectionItemChanged; AlternatorTechnologies.CollectionItemChanged += AlternatorTechnologiesOnCollectionItemChanged;
...@@ -353,9 +353,10 @@ namespace VECTO3GUI.ViewModel.Impl ...@@ -353,9 +353,10 @@ namespace VECTO3GUI.ViewModel.Impl
HeatPump = busAux.HVACAux.HeatPump; HeatPump = busAux.HVACAux.HeatPump;
AdjustableAuxiliaryHeater = busAux.HVACAux.AdjustableAuxiliaryHeater; AdjustableAuxiliaryHeater = busAux.HVACAux.AdjustableAuxiliaryHeater;
SeparateAirDistributionDucts = busAux.HVACAux.SeparateAirDistributionDucts; SeparateAirDistributionDucts = busAux.HVACAux.SeparateAirDistributionDucts;
DoorDriveTechnology = ConsumerTechnology.Pneumatically;
_componentData = new AuxiliariesBusComponentData(this); _componentData = new AuxiliariesBusComponentData(this);
}
ClearChangedProperties(); ClearChangedProperties();
} }
...@@ -418,6 +419,31 @@ namespace VECTO3GUI.ViewModel.Impl ...@@ -418,6 +419,31 @@ namespace VECTO3GUI.ViewModel.Impl
SetChangedProperty(changed, nameof(AlternatorTechnologies)); SetChangedProperty(changed, nameof(AlternatorTechnologies));
} }
public void CacheAlternatorTechnologies()
{
if (_componentData != null)
{
_cachedAlternators = new List<AlternatorTechnologyModel>();
for (int i = 0; i < AlternatorTechnologies.Count; i++)
{
_cachedAlternators.Add(new AlternatorTechnologyModel { AlternatorTechnology = AlternatorTechnologies[i].AlternatorTechnology });
}
}
}
public void LoadCachedAlternatorTechnologies()
{
if (_componentData != null && _cachedAlternators != null)
{
AlternatorTechnologies.Clear();
for (int i = 0; i < _cachedAlternators.Count; i++)
{
AlternatorTechnologies.Add(new AlternatorTechnologyModel { AlternatorTechnology = _cachedAlternators[i].AlternatorTechnology });
}
}
}
public override object CommitComponentData() public override object CommitComponentData()
{ {
_componentData.UpdateCurrentValues(this); _componentData.UpdateCurrentValues(this);
...@@ -492,15 +518,9 @@ namespace VECTO3GUI.ViewModel.Impl ...@@ -492,15 +518,9 @@ namespace VECTO3GUI.ViewModel.Impl
private void DoAddAlternator() private void DoAddAlternator()
{ {
if (AlternatorTechnologies == null) {
AlternatorTechnologies = new ObservableCollectionEx<AlternatorTechnologyModel>();
AlternatorTechnologies.CollectionChanged += AlternatorTechnologiesOnCollectionChanged;
AlternatorTechnologies.CollectionItemChanged += AlternatorTechnologiesOnCollectionItemChanged;
}
AlternatorTechnologies.Add(new AlternatorTechnologyModel AlternatorTechnologies.Add(new AlternatorTechnologyModel
{ {
AlternatorTechnology = string.Empty AlternatorTechnology = null
}); });
} }
......
...@@ -116,10 +116,11 @@ namespace VECTO3GUI.ViewModel.Impl ...@@ -116,10 +116,11 @@ namespace VECTO3GUI.ViewModel.Impl
if (XmlHelper.ValidateXDocument(xDoc, null, ValidationErrorAction)) { if (XmlHelper.ValidateXDocument(xDoc, null, ValidationErrorAction)) {
_xmlCompletedBusWriter.WriteCompletedBusXml(XmlFilePath, xDoc); _xmlCompletedBusWriter.WriteCompletedBusXml(XmlFilePath, xDoc);
CloseWindow(window); CloseWindow(window);
} } else {
ValidationResultDialogWindow(false); ValidationResultDialogWindow(false);
} }
} }
}
protected override void DoCloseJob(Window window) protected override void DoCloseJob(Window window)
...@@ -143,9 +144,10 @@ namespace VECTO3GUI.ViewModel.Impl ...@@ -143,9 +144,10 @@ namespace VECTO3GUI.ViewModel.Impl
{ {
_xmlCompletedBusWriter.WriteCompletedBusXml(filePath, xDocument); _xmlCompletedBusWriter.WriteCompletedBusXml(filePath, xDocument);
CloseWindow(window); CloseWindow(window);
} } else {
ValidationResultDialogWindow(false); ValidationResultDialogWindow(false);
} }
}
public ICommand CommitComponent public ICommand CommitComponent
{ {
......
...@@ -234,7 +234,6 @@ namespace VECTO3GUI.ViewModel.Impl ...@@ -234,7 +234,6 @@ namespace VECTO3GUI.ViewModel.Impl
{ {
if (!SetProperty(ref _doorDriveTechnology, value)) if (!SetProperty(ref _doorDriveTechnology, value))
return; return;
IsDataChanged(_doorDriveTechnology, _componentData); IsDataChanged(_doorDriveTechnology, _componentData);
} }
} }
...@@ -267,9 +266,9 @@ namespace VECTO3GUI.ViewModel.Impl ...@@ -267,9 +266,9 @@ namespace VECTO3GUI.ViewModel.Impl
if (vehicle == null) if (vehicle == null)
{ {
_componentData = new VehicleBusComponentData(this, true); _componentData = new VehicleBusComponentData(this, true);
return;
} }
else
{
Manufacturer = vehicle.Manufacturer; Manufacturer = vehicle.Manufacturer;
ManufacturerAddress = vehicle.ManufacturerAddress; ManufacturerAddress = vehicle.ManufacturerAddress;
Model = vehicle.Model; Model = vehicle.Model;
...@@ -289,8 +288,9 @@ namespace VECTO3GUI.ViewModel.Impl ...@@ -289,8 +288,9 @@ namespace VECTO3GUI.ViewModel.Impl
VehicleWidth = vehicle.Width; VehicleWidth = vehicle.Width;
EntranceHeight = vehicle.EntranceHeight; EntranceHeight = vehicle.EntranceHeight;
DoorDriveTechnology = vehicle.DoorDriveTechnology; DoorDriveTechnology = vehicle.DoorDriveTechnology;
_componentData = new VehicleBusComponentData(this); _componentData = new VehicleBusComponentData(this);
}
ClearChangedProperties(); ClearChangedProperties();
} }
......
...@@ -11,6 +11,7 @@ namespace VECTO3GUI.ViewModel.Interfaces ...@@ -11,6 +11,7 @@ namespace VECTO3GUI.ViewModel.Interfaces
public interface IAirdrag : ICommonComponentParameters public interface IAirdrag : ICommonComponentParameters
{ {
bool NoAirdragData { get; set; } bool NoAirdragData { get; set; }
bool UseMeasurementData { get; set; }
bool UseMeasuredValues { get; set; } bool UseMeasuredValues { get; set; }
SquareMeter CdxA_0 { get; set; } SquareMeter CdxA_0 { get; set; }
SquareMeter TransferredCdxA { get; set; } SquareMeter TransferredCdxA { get; set; }
......
...@@ -8,9 +8,6 @@ namespace VECTO3GUI.ViewModel.Interfaces ...@@ -8,9 +8,6 @@ namespace VECTO3GUI.ViewModel.Interfaces
{ {
IAirdragDeclarationInputData ModelData { get; } IAirdragDeclarationInputData ModelData { get; }
bool IsEditable { get; } bool IsEditable { get; }
bool UseMeasurementData { get; }
ICommand LoadFileCommand { get; } ICommand LoadFileCommand { get; }
ICommand AirdragConfigCommand { get; } ICommand AirdragConfigCommand { get; }
......
...@@ -15,6 +15,7 @@ namespace VECTO3GUI.ViewModel.Interfaces ...@@ -15,6 +15,7 @@ namespace VECTO3GUI.ViewModel.Interfaces
bool DeclarationMode { get; } bool DeclarationMode { get; }
ObservableCollection<Component> Components { get; } ObservableCollection<Component> Components { get; }
ICommand EditComponent { get; } ICommand EditComponent { get; }
Component SelectedComponent { get; }
IComponentViewModel CurrentComponent { get; } IComponentViewModel CurrentComponent { get; }
ICommand SaveJob { get; } ICommand SaveJob { get; }
......
...@@ -62,16 +62,7 @@ ...@@ -62,16 +62,7 @@
<Grid Grid.Column="1"> <Grid Grid.Column="1">
<TabControl TabStripPlacement="Top" ItemsSource="{Binding Components}" x:Name="ComponentsTab" SelectedIndex="0"> <TabControl TabStripPlacement="Top" ItemsSource="{Binding Components}" x:Name="ComponentsTab" SelectedIndex="0" SelectedItem="{Binding SelectedComponent}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction
Command="{Binding EditComponent}"
CommandParameter="{Binding ElementName=ComponentsTab, Path=SelectedItem}">
</i:InvokeCommandAction>
</i:EventTrigger>
</i:Interaction.Triggers>
<TabControl.ItemTemplate> <TabControl.ItemTemplate>
<DataTemplate> <DataTemplate>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment