コード例 #1
0
        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            if (ControlsHelper.IsDesignMode(this))
            {
                return;
            }
            // Subscribe to global events.
            Global.UpdateControlFromStates += Global_UpdateControlFromStates;
            // Subscribe to parent control events.
            PadControl = ControlsHelper.GetParent <PadControl>(this);
            PadControl.OnSettingChanged += Parent_OnSettingChanged;
            // Load parent setting.
            var setting = PadControl.CurrentUserSetting;

            LoadUserSetting(setting);
        }
コード例 #2
0
        void SetMask <T>(CheckBox[] boxes, T mask) where T : struct, IConvertible
        {
            // Check/Uncheck CheckBox.
            var xs = (T[])Enum.GetValues(typeof(T));
            var m  = Convert.ToUInt32(mask);

            foreach (var value in xs)
            {
                // Get CheckBox linked to enumeration value.
                var cb = boxes.FirstOrDefault(x => x.Name.StartsWith(value.ToString()));
                if (cb != null)
                {
                    var v = Convert.ToUInt32(value);
                    cb.IsChecked = (m & v) != 0;
                }
            }
            var gb = ControlsHelper.GetParent <GroupBox>(boxes.FirstOrDefault());

            UpdateTitle(gb, (int)m);
        }