public override void ReadValue(EndianReader reader) { IsEnabled = true; try { reader.Seek(ValueAddress, SeekOrigin.Begin); referenceValue = new TagReference(item.Module, reader); if (referenceValue.TagId != -1 && referenceValue.Tag == null) { SelectedClass = ClassOptions[0]; SelectedItem = TagOptions[0]; } else { SelectedClass = ClassOptions.FirstOrDefault(i => i.Label == referenceValue.Tag?.ClassName); SelectedItem = TagOptions.FirstOrDefault(i => i.Context != null && i.Context == referenceValue.Tag); } IsDirty = false; } catch { IsEnabled = false; } }
public override void ReadValue(EndianReader reader) { IsBusy = true; IsEnabled = true; try { reader.Seek(ValueAddress, SeekOrigin.Begin); referenceValue = new TagReference(context.Cache, reader); SelectedClass = ClassOptions.FirstOrDefault(i => i.Label == referenceValue.Tag?.ClassName); SelectedItem = TagOptions.FirstOrDefault(i => i.Context != null && i.Context == referenceValue.Tag); IsDirty = false; } catch { IsEnabled = false; } IsBusy = false; }