Я хочу иметь графическую часть в моем UserControl, которая будет отображать Lines на основе коллекции (и обновлять координаты во время выполнения, а также добавлять/удалять строки во время выполнения на основе коллекции).Bind an ObservableCollection to Lines
Давайте предположим, что у меня есть класс с именем Class1:
public class Class1 : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(PropertyChangedEventArgs e)
{
if (PropertyChanged != null)
PropertyChanged(this, e);
}
private int _x1 = 0;
public int X1
{
get { return _x1; }
set
{
_x1 = value;
OnPropertyChanged(new PropertyChangedEventArgs("X1"));
}
}
}
И в ObservableCollection в моей UserControl:
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(PropertyChangedEventArgs e)
{
if (PropertyChanged != null)
PropertyChanged(this, e);
}
private ObservableCollection<Class1> _classes = new ObservableCollection<Class1>();
public ObservableCollection<Class1> Classes
{
get { return _classes; }
}
Если бы я знал, что количество линий я мог бы создать количество строк в моем UserControl нравится:
XAML:
<Grid DataContext="{Binding ElementName=LayoutRoot}">
<Line X1="{Binding Items[0].X1}" X2="100" Y1="50" Y2="100" Stroke="Red" StrokeThickness="4"/>
<Line X1="{Binding Items[1].X1}" ... />
...
</Grid>
Как мне продолжить?
Спасибо за любые усилия