add Divider
This commit is contained in:
1 parent
48920792f0
commit
5abf20c181
5 files changed
+111
-39
No files matched your search
@@ -41,36 +41,48 @@ namespace HandyControl.Controls
|
||||
set => SetValue(SpanProperty, value);
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty IsFixedProperty = DependencyProperty.Register(
|
||||
"IsFixed", typeof(bool), typeof(Col), new PropertyMetadata(ValueBoxes.FalseBox));
|
||||
|
||||
public bool IsFixed
|
||||
{
|
||||
get => (bool) GetValue(IsFixedProperty);
|
||||
set => SetValue(IsFixedProperty, value);
|
||||
}
|
||||
|
||||
internal int GetLayoutCellCount(ColLayoutStatus status)
|
||||
{
|
||||
var result = 0;
|
||||
|
||||
if (Layout != null)
|
||||
{
|
||||
switch (status)
|
||||
if (!IsFixed)
|
||||
{
|
||||
case ColLayoutStatus.Xs:
|
||||
result = Layout.Xs;
|
||||
break;
|
||||
case ColLayoutStatus.Sm:
|
||||
result = Layout.Sm;
|
||||
break;
|
||||
case ColLayoutStatus.Md:
|
||||
result = Layout.Md;
|
||||
break;
|
||||
case ColLayoutStatus.Lg:
|
||||
result = Layout.Lg;
|
||||
break;
|
||||
case ColLayoutStatus.Xl:
|
||||
result = Layout.Xl;
|
||||
break;
|
||||
case ColLayoutStatus.Xxl:
|
||||
result = Layout.Xxl;
|
||||
break;
|
||||
case ColLayoutStatus.Auto:
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException(nameof(status), status, null);
|
||||
switch (status)
|
||||
{
|
||||
case ColLayoutStatus.Xs:
|
||||
result = Layout.Xs;
|
||||
break;
|
||||
case ColLayoutStatus.Sm:
|
||||
result = Layout.Sm;
|
||||
break;
|
||||
case ColLayoutStatus.Md:
|
||||
result = Layout.Md;
|
||||
break;
|
||||
case ColLayoutStatus.Lg:
|
||||
result = Layout.Lg;
|
||||
break;
|
||||
case ColLayoutStatus.Xl:
|
||||
result = Layout.Xl;
|
||||
break;
|
||||
case ColLayoutStatus.Xxl:
|
||||
result = Layout.Xxl;
|
||||
break;
|
||||
case ColLayoutStatus.Auto:
|
||||
break;
|
||||
default:
|
||||
throw new ArgumentOutOfRangeException(nameof(status), status, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
@@ -53,7 +53,7 @@ namespace HandyControl.Controls
|
||||
totalRowCount++;
|
||||
}
|
||||
|
||||
if (cellCount == 0)
|
||||
if (cellCount == 0 || child.IsFixed)
|
||||
{
|
||||
_totalAutoWidth += childDesiredSize.Width;
|
||||
}
|
||||
|
||||
@@ -4,24 +4,42 @@
|
||||
|
||||
<Style x:Key="DividerBaseStyle" TargetType="controls:Divider">
|
||||
<Setter Property="Focusable" Value="False"/>
|
||||
<Setter Property="Margin" Value="0, 24"/>
|
||||
<Setter Property="Padding" Value="24, 0"/>
|
||||
<Setter Property="Margin" Value="0,24"/>
|
||||
<Setter Property="Padding" Value="24,0"/>
|
||||
<Setter Property="LineStroke" Value="{DynamicResource BorderBrush}"/>
|
||||
<Setter Property="Foreground" Value="{DynamicResource PrimaryTextBrush}"/>
|
||||
<Setter Property="HorizontalContentAlignment" Value="Center"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="controls:Divider">
|
||||
<controls:Row>
|
||||
<controls:Col Layout="12">
|
||||
<controls:Col Layout="12" x:Name="ColStart">
|
||||
<Line VerticalAlignment="Center" StrokeDashArray="{TemplateBinding LineStrokeDashArray}" Stroke="{TemplateBinding LineStroke}" X2="1" StrokeThickness="{TemplateBinding LineStrokeThickness}" Stretch="Fill" StrokeEndLineCap="Square" StrokeStartLineCap="Square"/>
|
||||
</controls:Col>
|
||||
<controls:Col Layout="0">
|
||||
<ContentPresenter Margin="{TemplateBinding Padding}" ContentTemplateSelector="{TemplateBinding ContentTemplateSelector}" ContentStringFormat="{TemplateBinding ContentStringFormat}" ContentTemplate="{TemplateBinding ContentTemplate}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
|
||||
<ContentPresenter Margin="{TemplateBinding Padding}" ContentTemplateSelector="{TemplateBinding ContentTemplateSelector}" ContentStringFormat="{TemplateBinding ContentStringFormat}" ContentTemplate="{TemplateBinding ContentTemplate}"/>
|
||||
</controls:Col>
|
||||
<controls:Col Layout="12">
|
||||
<controls:Col Layout="12" x:Name="ColEnd">
|
||||
<Line VerticalAlignment="Center" StrokeDashArray="{TemplateBinding LineStrokeDashArray}" Stroke="{TemplateBinding LineStroke}" X2="1" StrokeThickness="{TemplateBinding LineStrokeThickness}" Stretch="Fill" StrokeEndLineCap="Square" StrokeStartLineCap="Square"/>
|
||||
</controls:Col>
|
||||
</controls:Row>
|
||||
<ControlTemplate.Triggers>
|
||||
<Trigger Property="Content" Value="{x:Null}">
|
||||
<Setter Property="Padding" Value="0"/>
|
||||
</Trigger>
|
||||
<Trigger Property="HorizontalContentAlignment" Value="Left">
|
||||
<Setter TargetName="ColStart" Property="Layout" Value="0"/>
|
||||
<Setter TargetName="ColStart" Property="IsFixed" Value="True"/>
|
||||
<Setter TargetName="ColStart" Property="Width" Value="20"/>
|
||||
<Setter TargetName="ColEnd" Property="Layout" Value="24"/>
|
||||
</Trigger>
|
||||
<Trigger Property="HorizontalContentAlignment" Value="Right">
|
||||
<Setter TargetName="ColEnd" Property="Layout" Value="0"/>
|
||||
<Setter TargetName="ColEnd" Property="IsFixed" Value="True"/>
|
||||
<Setter TargetName="ColEnd" Property="Width" Value="20"/>
|
||||
<Setter TargetName="ColStart" Property="Layout" Value="24"/>
|
||||
</Trigger>
|
||||
</ControlTemplate.Triggers>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
@@ -29,6 +47,16 @@
|
||||
<Trigger Property="Content" Value="{x:Null}">
|
||||
<Setter Property="Padding" Value="0"/>
|
||||
</Trigger>
|
||||
<Trigger Property="Orientation" Value="Vertical">
|
||||
<Setter Property="Margin" Value="6,0"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="controls:Divider">
|
||||
<Line HorizontalAlignment="Center" StrokeDashArray="{TemplateBinding LineStrokeDashArray}" Stroke="{TemplateBinding LineStroke}" Y2="1" StrokeThickness="{TemplateBinding LineStrokeThickness}" Stretch="Fill" StrokeEndLineCap="Square" StrokeStartLineCap="Square"/>
|
||||
</ControlTemplate>
|
||||
</Setter.Value>
|
||||
</Setter>
|
||||
</Trigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
|
||||
|
||||
Reference in new issue
Block a user