WPF折线 - 如何突出显示点数?

时间:2017-01-12 15:04:00

标签: c# wpf xaml

您好我对WPF中的折线有疑问。如何突出显示折线中的点,例如线条为红色,但 mypolyline.Points 中的点是蓝色的?

1 个答案:

答案 0 :(得分:1)

Polyline无法开箱即用,因为它只会呈现为连接线段的集合。

但是,您可以添加一个ItemsControl来渲染如下所示的点。它使用零长度的Line元素,但使用圆形开始和结束大小来显示点。

<Polyline x:Name="polyline" Points="10,10 50,50 90,10" Stroke="Red"/>

<ItemsControl ItemsSource="{Binding Points, ElementName=polyline}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <Canvas/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemContainerStyle>
        <Style TargetType="ContentPresenter">
            <Setter Property="Canvas.Left" Value="{Binding X}"/>
            <Setter Property="Canvas.Top" Value="{Binding Y}"/>
        </Style>
    </ItemsControl.ItemContainerStyle>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <Line Stroke="Blue" StrokeThickness="5"
                  StrokeStartLineCap="Round" StrokeEndLineCap="Round"/>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>