public void checkedthemebox(object sender, EventArgs e) { CheckBox checkBox = sender as CheckBox; LayerItem _layeritem = layeritems.FirstOrDefault(x => x.checkbox == checkBox); LayerCheckBoxClickArgs args = new LayerCheckBoxClickArgs(); args.Item = _layeritem; if (OnLayerCheckBoxClick != null) { OnLayerCheckBoxClick(this, args); } foreach (LayerItem lt in _layeritem.childs) { lt.checkbox.IsChecked = true; } }
public void uncheckedlayerbox(object sender, EventArgs e) { CheckBox checkBox = (CheckBox)(sender); LayerItem _layeritem = layeritems.FirstOrDefault(x => x.checkbox == checkBox); LayerCheckBoxClickArgs args = new LayerCheckBoxClickArgs(); args.Item = _layeritem; if (OffLayerCheckBoxClick != null) { OffLayerCheckBoxClick(this, args); } if (_layeritem.parent.childs.FirstOrDefault(x => x.checkbox.IsChecked == true) == null) { _layeritem.parent.checkbox.IsChecked = false; } }
public void checkedlayerbox(object sender, EventArgs e) { CheckBox checkBox = sender as CheckBox; LayerItem _layeritem = layeritems.FirstOrDefault(x => x.checkbox == checkBox); LayerCheckBoxClickArgs args = new LayerCheckBoxClickArgs(); args.Item = _layeritem; if (OnLayerCheckBoxClick != null) { OnLayerCheckBoxClick(this, args); } _layeritem.parent.checkbox.Checked -= checkedthemebox; _layeritem.parent.checkbox.IsChecked = true; args.Item = layeritems.FirstOrDefault(x => x.checkbox == _layeritem.parent.checkbox); if (OnLayerCheckBoxClick != null) { OnLayerCheckBoxClick(this, args); } _layeritem.parent.checkbox.Checked += checkedthemebox; }
public LayersWindow(ThemeView themeview, LayerCollection layers) { InitializeComponent(); //Initialize the checkboxs based on themesections and themelayers layeritems = new List <LayerItem>(); foreach (ThemeSection themsection in themeview.themesections) { CheckBox _themebox = themecheckbox(themsection.name); this.addCheckbox.Children.Add(_themebox); LayerItem _themelayeritem = new LayerItem(); _themelayeritem.checkbox = _themebox; _themelayeritem.themesection = themsection; layeritems.Add(_themelayeritem); //增加有tpk对应的复选框 foreach (ThemeLayer themelayer in themsection.themelayers) { string st = themelayer.tpkname; if (st.Contains("无tpk")) { st = st.Split('-')[0]; } CheckBox _layerbox = layerbox(st); this.addCheckbox.Children.Add(_layerbox); LayerItem _layeritem = new LayerItem(); _layeritem.checkbox = _layerbox; _layeritem.themelayer = themelayer; _layeritem.parent = _themelayeritem; layeritems.Add(_layeritem); _themelayeritem.childs.Add(_layeritem); } } }