Merge branch 'master' of https://github.com/handyorg/HandyControl
This commit is contained in:
commit
b2faec3374
24 files changed
+669
-44
No files matched your search
@@ -58,7 +58,7 @@
|
||||
</hc:NotifyIcon>
|
||||
<hc:NotifyIcon Token="{x:Static data:MessageToken.NotifyIconContextDemo}" x:Name="NotifyIconContextContent" Text="HandyControl" IsBlink="{Binding ContextContentIsBlink}" Visibility="{Binding ContextContentIsShow,Converter={StaticResource Boolean2VisibilityConverter}}" Icon="/HandyControlDemo;component/Resources/Img/icon-white.ico">
|
||||
<hc:NotifyIcon.ContextContent>
|
||||
<Border CornerRadius="4" Margin="10" Background="White" Effect="{StaticResource EffectShadow2}">
|
||||
<Border CornerRadius="4" Margin="10" Background="{DynamicResource RegionBrush}" Effect="{StaticResource EffectShadow2}">
|
||||
<StackPanel VerticalAlignment="Center" Margin="16">
|
||||
<Path Width="100" Height="100" Fill="#f06632" Data="{StaticResource LogoGeometry}"/>
|
||||
<StackPanel Margin="0,16,0,0" HorizontalAlignment="Center" Orientation="Horizontal">
|
||||
|
||||
@@ -636,6 +636,22 @@ namespace HandyControl.Controls
|
||||
}
|
||||
else if (ContextMenu != null)
|
||||
{
|
||||
if (ContextMenu.Items.Count == 0) return;
|
||||
|
||||
ContextMenu.InvalidateProperty(StyleProperty);
|
||||
foreach (var item in ContextMenu.Items)
|
||||
{
|
||||
if (item is MenuItem menuItem)
|
||||
{
|
||||
menuItem.InvalidateProperty(StyleProperty);
|
||||
}
|
||||
else
|
||||
{
|
||||
var container = ContextMenu.ItemContainerGenerator.ContainerFromItem(item) as MenuItem;
|
||||
container?.InvalidateProperty(StyleProperty);
|
||||
}
|
||||
}
|
||||
|
||||
ContextMenu.Placement = PlacementMode.Mouse;
|
||||
ContextMenu.IsOpen = true;
|
||||
|
||||
|
||||
@@ -304,7 +304,7 @@ namespace HandyControl.Controls
|
||||
ItemIsDragging = true;
|
||||
_isWaiting = true;
|
||||
_dragPoint = e.GetPosition(parent);
|
||||
_dragPoint = new Point(_dragPoint.X + +_scrollHorizontalOffset, _dragPoint.Y);
|
||||
_dragPoint = new Point(_dragPoint.X + _scrollHorizontalOffset, _dragPoint.Y);
|
||||
_mouseDownPoint = _dragPoint;
|
||||
CaptureMouse();
|
||||
}
|
||||
@@ -432,6 +432,11 @@ namespace HandyControl.Controls
|
||||
/// <returns></returns>
|
||||
private int CalLocationIndex(double left)
|
||||
{
|
||||
if (_isWaiting)
|
||||
{
|
||||
return CurrentIndex;
|
||||
}
|
||||
|
||||
var maxIndex = TabControlParent.Items.Count - 1;
|
||||
var div = (int)(left / ItemWidth);
|
||||
var rest = left % ItemWidth;
|
||||
|
||||
@@ -909,10 +909,4 @@
|
||||
<Folder Include="$(MSBuildThisFileDirectory)Controls\Growl\" />
|
||||
<Folder Include="$(MSBuildThisFileDirectory)Tools\Generator\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Page Update="E:\Work\GitHub\HandyControl\src\Shared\HandyControl_Shared\Themes\Styles\Base\SplitButtonBaseStyle.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -4,8 +4,8 @@ using System.Windows;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Animation;
|
||||
using HandyControl.Tools;
|
||||
// ReSharper disable PossibleInvalidOperationException
|
||||
|
||||
// ReSharper disable PossibleInvalidOperationException
|
||||
namespace HandyControl.Media.Animation
|
||||
{
|
||||
public class GeometryAnimation : GeometryAnimationBase
|
||||
@@ -20,7 +20,7 @@ namespace HandyControl.Media.Animation
|
||||
|
||||
public GeometryAnimation()
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
public GeometryAnimation(string fromValue, string toValue) : this()
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Threading;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Animation;
|
||||
|
||||
@@ -6,6 +8,11 @@ namespace HandyControl.Media.Animation
|
||||
{
|
||||
public abstract class GeometryAnimationBase : AnimationTimeline
|
||||
{
|
||||
protected GeometryAnimationBase()
|
||||
{
|
||||
Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
|
||||
}
|
||||
|
||||
public new GeometryAnimationBase Clone() => (GeometryAnimationBase)base.Clone();
|
||||
|
||||
public sealed override object GetCurrentValue(object defaultOriginValue, object defaultDestinationValue, AnimationClock animationClock)
|
||||
|
||||
@@ -11,7 +11,6 @@ using System.Windows.Media.Animation;
|
||||
using HandyControl.Tools;
|
||||
|
||||
// ReSharper disable PossibleInvalidOperationException
|
||||
|
||||
namespace HandyControl.Media.Animation
|
||||
{
|
||||
[ContentProperty("KeyFrames")]
|
||||
@@ -38,7 +37,10 @@ namespace HandyControl.Media.Animation
|
||||
|
||||
private bool _areKeyTimesValid;
|
||||
|
||||
public GeometryAnimationUsingKeyFrames() => _areKeyTimesValid = true;
|
||||
public GeometryAnimationUsingKeyFrames()
|
||||
{
|
||||
_areKeyTimesValid = true;
|
||||
}
|
||||
|
||||
public new GeometryAnimationUsingKeyFrames Clone() => (GeometryAnimationUsingKeyFrames)base.Clone();
|
||||
|
||||
@@ -516,4 +518,4 @@ namespace HandyControl.Media.Animation
|
||||
while (index < maxKeyFrameIndex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -237,12 +237,14 @@
|
||||
<ScrollBar x:Name="PART_HorizontalScrollBar" Opacity="0" Style="{StaticResource ScrollBarBaseStyle}" AutomationProperties.AutomationId="HorizontalScrollBar" Cursor="Arrow" Grid.Column="0" Maximum="{TemplateBinding ScrollableWidth}" Minimum="0" Orientation="Horizontal" Grid.Row="1" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}"/>
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<EventTrigger RoutedEvent="MouseEnter">
|
||||
<BeginStoryboard Storyboard="{StaticResource Storyboard1}"/>
|
||||
</EventTrigger>
|
||||
<EventTrigger RoutedEvent="MouseLeave">
|
||||
<BeginStoryboard Storyboard="{StaticResource Storyboard2}"/>
|
||||
</EventTrigger>
|
||||
<DataTrigger Binding="{Binding IsMouseOver,RelativeSource={RelativeSource Self}}" Value="True">
|
||||
<DataTrigger.EnterActions>
|
||||
<BeginStoryboard Storyboard="{StaticResource Storyboard1}"/>
|
||||
</DataTrigger.EnterActions>
|
||||
<DataTrigger.ExitActions>
|
||||
<BeginStoryboard Storyboard="{StaticResource Storyboard2}"/>
|
||||
</DataTrigger.ExitActions>
|
||||
</DataTrigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
|
||||
@@ -285,12 +287,14 @@
|
||||
<ScrollBar x:Name="PART_HorizontalScrollBar" Opacity="0" Style="{StaticResource ScrollBarBaseStyle}" AutomationProperties.AutomationId="HorizontalScrollBar" Cursor="Arrow" Grid.Column="0" Maximum="{TemplateBinding ScrollableWidth}" Minimum="0" Orientation="Horizontal" Grid.Row="1" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}"/>
|
||||
</Grid>
|
||||
<ControlTemplate.Triggers>
|
||||
<EventTrigger RoutedEvent="MouseEnter">
|
||||
<BeginStoryboard Storyboard="{StaticResource Storyboard1}"/>
|
||||
</EventTrigger>
|
||||
<EventTrigger RoutedEvent="MouseLeave">
|
||||
<BeginStoryboard Storyboard="{StaticResource Storyboard2}"/>
|
||||
</EventTrigger>
|
||||
<DataTrigger Binding="{Binding IsMouseOver,RelativeSource={RelativeSource Self}}" Value="True">
|
||||
<DataTrigger.EnterActions>
|
||||
<BeginStoryboard Storyboard="{StaticResource Storyboard1}"/>
|
||||
</DataTrigger.EnterActions>
|
||||
<DataTrigger.ExitActions>
|
||||
<BeginStoryboard Storyboard="{StaticResource Storyboard2}"/>
|
||||
</DataTrigger.ExitActions>
|
||||
</DataTrigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
|
||||
|
||||
Reference in new issue
Block a user