-// Copyright (c) 2013-2019 Bruyère Jean-Philippe jp_bruyere@hotmail.com
+// Copyright (c) 2013-2021 Bruyère Jean-Philippe jp_bruyere@hotmail.com
//
// This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT)
+using System;
namespace Crow
{
return _contentContainer == null ? null : _contentContainer.Child;
}
set {
+ if (_contentContainer == null)
+ throw new Exception ("TemplatedContainer template Must contain a Container named 'Content'");
_contentContainer.SetChild(value);
NotifyValueChanged ("HasContent", HasContent);
}
}
}
- if (g is ListItem li) {
+ if (g is ISelectable li)
li.Selected += Li_Selected;
- }
g.DataSource = o;
}
//void expandable_expandevent (object sender, EventHandler )
void Li_Selected (object sender, EventArgs e)
{
+ if (selectedItemContainer is ISelectable li)
+ li.IsSelected = false;
+ selectedItemContainer = sender as Widget;
+
SelectedItemContainerChanged.Raise (this, new SelectionChangeEventArgs (sender));
}
}
internal virtual void itemClick(object sender, MouseButtonEventArgs e){
//SelectedIndex = (int)((IList)data)?.IndexOf((sender as Widget).DataSource);
- if (selectedItemContainer is ISelectable li)
- li.IsSelected = false;
- selectedItemContainer = sender as Widget;
- if (selectedItemContainer is ISelectable nli)
+
+ if (sender is ISelectable nli)
nli.IsSelected = true;
+ else
+ selectedItemContainer = sender as Widget;
if (selectedItemContainer == null)
return;
SelectedItem = selectedItemContainer.DataSource;