private void ButtonGetValues_Click(object sender, RoutedEventArgs e) { if (SelectedGID == null) { return; } List <ModelCode> selectedProperties = new List <ModelCode>(); foreach (var child in Properties.Children) { if (child is CheckBox checkBox) { if (checkBox.IsChecked.Value) { foreach (KeyValuePair <ModelCode, string> keyValuePair in propertiesDesc) { if (keyValuePair.Value.Equals(checkBox.Content)) { selectedProperties.Add(keyValuePair.Key); } } } } } ResourceDescription rd = null; try { rd = tgda.GetValues(SelectedGID.GID, selectedProperties); } catch (Exception ex) { MessageBox.Show(ex.Message, "GetValues", MessageBoxButton.OK, MessageBoxImage.Error); } if (rd != null) { StringBuilder sb = new StringBuilder(); sb.Append("Returned entity" + Environment.NewLine + Environment.NewLine); sb.Append($"Entity with gid: 0x{rd.Id:X16}" + Environment.NewLine); foreach (Property property in rd.Properties) { switch (property.Type) { case PropertyType.Int64: StringAppender.AppendLong(sb, property); break; case PropertyType.Float: StringAppender.AppendFloat(sb, property); break; case PropertyType.String: StringAppender.AppendString(sb, property); break; case PropertyType.Reference: StringAppender.AppendReference(sb, property); break; case PropertyType.ReferenceVector: StringAppender.AppendReferenceVector(sb, property); break; default: sb.Append($"{property.Id}: {property.PropertyValue.LongValue}{Environment.NewLine}"); break; } } Values.Document.Blocks.Clear(); Values.AppendText(sb.ToString()); } }