コード例 #1
0
        private static object AddTreeItem(object obj, PropertyInfo info, FAAttribute attr, Grid grid)
        {
            System.Windows.UIElement item = null;

            object value = info.GetValue(obj, null);
            string name = info.Name;
            if (value is string || info.PropertyType == typeof(string))
            {
                if (info.GetSetMethod(false) != null && attr.Readonly == false)
                    item = CreateTextBox(obj, name);
                else
                    item = CreateLabel(obj, name);
            }
            else if (value is bool || info.PropertyType == typeof(bool))
                item = CreateCheckBox(obj, name);
            else if (value is System.Collections.ICollection || info.PropertyType == typeof(System.Collections.ICollection))
            {
                item = CreateListView(obj, name);
                return item;
            }
            else if (value is short || value is ushort || value is int || value is uint || value is long || value is ulong ||
                value is double)
                if (info.GetSetMethod(false) != null && attr.Readonly == false)
                    item = CreateTextBox(obj, name);
                else
                    item = CreateLabel(obj, name);
            else if (obj.GetType().GetProperty(name).PropertyType.IsEnum)
            {
                item = CreateComboBoxForEnumObject(obj, name);
            }
            else
                item = CreateLabel(obj, name);

            if (item != null)
            {
                grid.Children.Add(item);
                Grid.SetColumn(item, 2);
            }

            return grid;
        }
コード例 #2
0
        private void SaveTimerStatus(XElement xml, PropertyInfo propInfo, FAAttribute attr)
        {
            if (attr.GroupName != "Timer") return;

            FATime timeInfo = (FATime)propInfo.GetValue(this, null);
            XElement item = new XElement("Item");
            item.Add(new XElement("Name", propInfo.Name));
            item.Add(new XElement("Value", timeInfo.TypeValue));
            item.Add(new XElement("Type", timeInfo.Type));

            xml.Add(item);
        }