Я столкнулся с этой проблемой при масштабировании графика, который рисуется поверх ГИС-элемента управления Greatmap.Но простой эксперимент убеждает меня, что проблемы в WPF где-то глубже.
Рассмотрим простое приложение WPF:
Это MainWindow.xaml
<Grid>
<StackPanel>
<Slider ValueChanged="Size_Changed" Minimum="0" Maximum="300000"/>
<TextBox x:Name="Value"></TextBox>
</StackPanel>
<Canvas>
<Path x:Name="MyPath" Stroke="Black" StrokeThickness="2" />
</Canvas>
</Grid>
И это его кодпозади
private void Size_Changed(object sender,
RoutedPropertyChangedEventArgs<double> e)
{
if (MyPath == null) return;
var g = new StreamGeometry();
using (var s = g.Open())
{
var pointA = new Point(0, 200);
s.BeginFigure(pointA, false, false);
var pointB = new Point(e.NewValue, 200);
s.PolyLineTo(new[] {pointB}, true, true);
Value.Text = $"zoom = {e.NewValue:0.0} ; pointA = {pointA.X:#,0} ; pointB = {pointB.X:#,0}";
}
g.Freeze();
MyPath.Data = g;
}
Пока я перетаскиваю ползунок от 0 до 249999, все в порядке.Я вижу линию на моем взгляде.Но в тот момент значение ползунка становится 250000 - строка исчезает.
Есть ли какие-либо ограничения в WPF?