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); }
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); }