¿Por qué el Camino y polilínea tienen diferentes representaciones en WPF?
Pregunta
¿Por qué el Camino y polilínea tienen diferentes representaciones en WPF?
Esto está ocurriendo tanto en código y mezcla, tal vez una que algo falta o presente es sólo un efecto anti aliasing.
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="GeometryMonky.Window1"
x:Name="Window"
Title="Window1"
Width="640" Height="480" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d">
<Grid x:Name="LayoutRoot">
<Path Fill="#FFFFFFFF" Stretch="Fill" Stroke="#FF0000FF" Margin="100,10,0,0" Data="M289,39 L333,173" Width="1" HorizontalAlignment="Left" Height="100" StrokeThickness="1"/>
<Polyline Stroke="#FF0000FF" Margin="115,178,417,168" StrokeThickness="1" Width="100" Height="100">
<Polyline.Points>
<Point>10,0</Point>
<Point>10,100</Point>
</Polyline.Points>
</Polyline>
</Grid>
</Window>
Imagen de muestra de Mezcla: http://img190.imageshack.us/img190/2965/wpfsmaple.png
Sistema de desarrollo: WinXP SP2, VS 2008 SP1 +
Solución
Tiene que ver con los modos de dibujo de objetos no son de texto. He intentado establecer el objeto polilínea como el artículo enlazado abajo dice y hace que se vea como el camino.
Así, respuesta corta es que tiene que ver con anti-aliasing. Aquí está el artículo: Líneas solo píxel
Si desea que el comando que aquí está, dar a su polilínea un nombre y luego añadir lo siguiente en el código subyacente.
public partial class MainWindow : Window
{
public MainWindow()
{
this.InitializeComponent();
// THIS IS THE LINE THATS IMPORTANT
pLine.SetValue(RenderOptions.EdgeModeProperty, EdgeMode.Aliased);
}
}
Su cambio xaml aquí:
<Polyline x:Name="pLine" Stroke="#FF0000FF" Margin="115,178,417,168" StrokeThickness="1" Width="100" Height="100">
<Polyline.Points>
<Point>10,0</Point>
<Point>10,100</Point>
</Polyline.Points>
</Polyline>
Esto hará que su objeto de polilínea se parecen a su objeto Path. Sin embargo el cambio de la trayectoria de usar no especificado no hace nada para que pueda tomar sus otros objetos de aspecto similar a la ruta, pero no viceversa.
Otros consejos
Ponga esto en su trayectoria o polilínea etiqueta xaml
RenderOptions.EdgeMode="Aliased"