Obecnie próbuję powiązać pewne elementy w kolekcji wpf. Najlepiej wyjaśnić to przykładem.WPF Wiązanie do określonych elementów w kolekcji
Mój XAML jest poniżej:
<Canvas Name="TaskCanvas" Width="467.667" Height="414">
<Ellipse Name="myElipse" Fill="White" Stroke="Black" Width="126" Height="76"
Canvas.Left="{Binding Path=XPos}" Canvas.Top="{Binding Path=YPos}" />
</Canvas>
Teraz jak widać jestem tylko wiązania się z właściwościami Jako prosty przykład elipsy, aby umieścić go na osi X i Y od mojego źródła danych.
Mam kod C# w przypadku window_load do wiązania moje źródło danych do mojego elipsy, jak pokazano poniżej:
PosClass posclass = new PosClass();
List<PosClass> posClasses = new List<PosClass>();
posclass.YPos = 100;
posclass.XPos= 100;
posClasses.Add(posclass);
posclass.YPos = 0;
posclass.XPos = 0;
posClasses.Add(posclass);
TaskCanvas.DataContext = posClasses;
Teraz zrobiłem wiązania do cotainer płótnie z mojej kolekcji. PosClass to prosta klasa z dwiema właściwościami: XPos i YPos.
Po uruchomieniu zestawu kodu moja elipsa jest poprawnie powiązana ze źródłem danych, które jest świetne, ale ponieważ elipsa nie jest ustawiona na pobranie dokładnego wiersza z kolekcji, domyślnie przyjmuje ostatni wiersz, więc ustawienie elipsy na 0, Pozycja 0.
Co mogę zrobić, to ustawić elipsę, aby użyć pierwszego elementu w kolekcji dołączonej w XAML lub gdybym miał więcej przedmiotów, powiedzmy 10 pozycję. Znowu chcę to zrobić w XAML, więc obecnie mam po prostu powiązanie z pozycjami X i Y, czy jest jakaś składnia, która pozwala mi również określić, który wiersz w kolekcji ma być użyty?
Mam podobny problem, ale muszę związać element, którego konkretna właściwość ma określoną wartość. W tym przykładzie wyobraź sobie, że PosClass ma właściwość o nazwie PosID. Chcę związać gdzie POSID = 15. Jakieś pomysły? –