Действительно ли возможно создать Строку в XAML (без какого-либо кода C# позади) для выравнивания строки в контейнере макетов, таком как Сетка?
Я хотел бы эффективно иметь:
<Grid>
<Line StrokeThickness="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Bottom"
Stroke="Red"/>
</Grid>
Я должен использовать StrokeDashArray
и StrokeDashOffset
, иначе я просто использовал бы a Border
управление с BorderThickness установило на "0,0,0,1"
...
Спасибо за любые идеи!
Чтобы уточнить ответ kanchirk, вот что работает для меня:
<Path StrokeThickness="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Bottom"
Data="M0,0 L1,0"
Stretch="Fill"
StrokeEndLineCap="Square"
StrokeStartLineCap="Square"
Stroke="Red"/>
Вы можете сделать то же самое с Line
:
<Line StrokeThickness="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Bottom"
X2="1"
Stretch="Fill"
StrokeEndLineCap="Square"
StrokeStartLineCap="Square"
Stroke="Red"/>
Как насчет этого?
<Line x:Name="line"
StrokeThickness="1"
HorizontalAlignment="Stretch"
VerticalAlignment="Bottom"
Stroke="Red"
X2="{Binding ActualWidth, ElementName=line, Mode=OneWay}"
Stretch="Fill"
StrokeStartLineCap="Square"
StrokeEndLineCap="Square"/>
Я думаю, что вам нужно использовать Path так
<Grid x:Name="LayoutRoot" Background="White">
<Path Fill="Red" Stretch="Fill" Stroke="Black" StrokeDashArray="1" Height="4" Margin="8,0,7,7" VerticalAlignment="Bottom" UseLayoutRounding="False" Data="M8,127 L457,127" StrokeThickness="13"/>
</Grid>
Надеюсь, это поможет. Expression Blend является обязательным для такого рода задач или даже VS 2010 RC1 (на данный момент)