<?xml version="1.0"?>
<GenericStack Orientation="Vertical" Spacing="0"
Background="Onyx"
- MouseEnter="{caption.Foreground=White}"
- MouseLeave="{caption.Foreground=Gray}">
+ MouseEnter="{/caption.Foreground=White}"
+ MouseLeave="{/caption.Foreground=Gray}">
<HorizontalStack Margin="2" Left="{./TabOffset}"
Name="TabTitle"
HorizontalAlignment="Left"
<?xml version="1.0"?>
<GenericStack Orientation="Vertical" Spacing="0"
Background="Onyx"
- MouseEnter="{caption.Foreground=White}"
- MouseLeave="{caption.Foreground=Gray}">
+ MouseEnter="{/caption.Foreground=White}"
+ MouseLeave="{/caption.Foreground=Gray}">
<HorizontalStack Margin="2" Left="{./TabOffset}"
Name="TabTitle"
HorizontalAlignment="Left"
<Label Text="Selected Tab:"/>
<Label Text="{../../tabview1.SelectedTab}"/>
</HorizontalStack>
- <TabView Name="tabview1" Orientation="Horizontal" Spacing="24">
- <TabItem Name="TabItem1" Caption="tab item 1">
+ <TabView Name="tabview1" Orientation="Horizontal" Spacing="24" Margin="50">
+ <TabItem Name="TabItem1" Caption="tab item 1" >
<VerticalStack Margin="20">
<CheckBox/>
<CheckBox/>
#endregion
#region Mouse handling
+ /// <summary>
+ /// Recursive local coordinate point test.
+ /// After test on parent, point m is in local coord system.
+ /// </summary>
+ /// <returns>return true, if point is in the bounds of this control</returns>
+ /// <param name="m">by ref point to test, init value is not kept</param>
public virtual bool PointIsIn(ref Point m)
{
if (!(Visible & isEnabled)||IsDragged)
#region Mouse Handling
public bool HoldCursor = false;
-
- public override bool MouseIsIn (Point m)
+ public override bool PointIsIn (ref Point m)
{
- if (!(Visible & IsEnabled) || IsDragged)
- return false;
-
- bool mouseIsInTitle = TabTitle.ScreenCoordinates (TabTitle.Slot).ContainsOrIsEqual (m);
- if (!IsSelected)
- return mouseIsInTitle;
+ TabView tv = Parent as TabView;
+ bool tmp = base.PointIsIn (ref m);
- return _contentContainer.ScreenCoordinates (_contentContainer.Slot).ContainsOrIsEqual (m)
- || mouseIsInTitle;
+ if (m.Y < tabThickness)
+ return TabTitle.Slot.ContainsOrIsEqual (m);
+ else
+ return this.isSelected && tmp;
}
public override void onMouseDown (object sender, MouseButtonEventArgs e)
{