2
저는 WPF를 배우기 시작했으며 올바른 방법을 배우려고합니다. ItemsControl을 사용하여 Points로 구성된 Observable Collection에 바인딩합니다. 각 점은 타원의 중심을 나타냅니다. 그러나 현재 항목, 타원 기하학의 중심 속성에 바인딩하는 방법을 모르겠습니다.ItemsControl 현재 개체 바인딩?
<EllipseGeometry Center="{Binding Path=????}" RadiusX="10" RadiusY="10"/>
그러나 예상되는 결과를 얻을 수 있으므로 다소 효과가 있음을 알고 있습니다. 나는 현재의 객체를 어떻게 말할지를 알 수 없다.
<EllipseGeometry Center="10,10" RadiusX="{Binding Path=X}" RadiusY="{Binding Path=Y}"/>
C# 코드 :
public class ViewModel
{
public ObservableCollection<Point> PointList { get; private set; }
public ViewModel()
{
PointList = new ObservableCollection<Point>();
AddPoint(new Point(10, 10));
AddPoint(new Point(200, 200));
AddPoint(new Point(500, 500));
}
public void AddPoint(Point p)
{
PointList.Add(p);
}
}
XAML 코드 :
당신이 완전히 길을두면<ItemsControl Grid.Row="0" ItemsSource="{Binding Path=PointList}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Path Fill="Gold" Stroke="Black" StrokeThickness="1" Tag="Hi" >
<Path.Data>
<EllipseGeometry Center="{Binding Path=????}" RadiusX="10" RadiusY="10"/>
</Path.Data>
</Path>
<!--<Rectangle Fill="Red" Width="25" Height="25"/>-->
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemContainerStyle>
<Style>
<!--<Setter Property="Canvas.Left" Value="{Binding Path=X}"/>
<Setter Property="Canvas.Top" Value="{Binding Path=Y}"/>-->
</Style>
</ItemsControl.ItemContainerStyle>
</ItemsControl>