Я застрял в привязке точек полилинии к ObservableCollection(Of Point):
<UserControl
x:Class="GL.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="640" d:DesignWidth="840">
<Grid x:Name="LayoutRoot" Background="#ff444444">
<Canvas Background="#333333" Width="800" Height="600">
<Polyline x:Name="Linie" Stroke="Yellow" StrokeThickness="2" Canvas.Left="0" Canvas.Top="0" Width="800" Height="600" Fill="Gray" Points="{Binding Punkte}">
</Polyline>
</Canvas>
<TextBlock Height="55" Name="tb" Foreground="White" FontSize="{Binding Path=TS}" Text="JUST A TEST!" />
<Button Content="Add Point" Height="23" HorizontalAlignment="Left" Margin="745,617,0,0" Name="Button1" VerticalAlignment="Top" Width="75" />
</Grid>
Here's the code behind:
Imports System.Windows
Imports System.Windows.Media
Imports System.Collections.ObjectModel
Partial Public Class MainPage
Inherits UserControl
Dim r As New Random(345)
Private _punkte As New ObservableCollection(Of Point)
Public Property Punkte As ObservableCollection(Of Point)
Get
Return _punkte
End Get
Set(value As ObservableCollection(Of Point))
_punkte = value
SetValue(Punkte_DP, _punkte)
End Set
End Property
Private _ts As Integer
Public Property TS As Integer
Get
Return _ts
End Get
Set(value As Integer)
_ts = value
SetValue(TS_DP, _ts)
End Set
End Property
Public Punkte_DP As DependencyProperty = DependencyProperty.Register("Punkte", GetType(ObservableCollection(Of Point)), GetType(MainPage), New PropertyMetadata(New ObservableCollection(Of Point)))
Public TS_DP As DependencyProperty = DependencyProperty.Register("TS", GetType(Integer), GetType(MainPage), New PropertyMetadata(New Integer))
Public Sub New()
Me.DataContext = Me
InitializeComponent()
Linie.DataContext = Me.Punkte
Punkte.Add(New Point(100, 100))
Punkte.Add(New Point(700, 300))
TS = 25
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
Punkte.Add(New Point(r.Next(0, 600), r.Next(0, 600)))
End Sub
End Class
Когда я запускаю это, FontSize обновляется, но нет ни одной точки, соответственно. чертится линия. Коллекция увеличивается при каждом нажатии кнопки, но ничего не происходит.
Какого черта мне здесь не хватает? Спасибо за вашу помощь!
С уважением, Роб