Şu anda wpf dosyasında bir koleksiyona belirli öğeleri bağlamaya çalışıyorum. Bu en iyi bir örnekle açıklanabilir.WPF Koleksiyondaki belirli öğelere bağlanma
Benim XAML aşağıdaki gibidir:
<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>
Şimdi ben sadece benim veri kaynağından x ve y ekseni üzerinde konumlandırmak için elips basit bir örnek olarak özelliklerine bağlama am görebilirsiniz.
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;
Şimdi bir Koleksiyonumdan tuval cotainer bağlanma yaptı: aşağıda gösterildiği gibi
benim elips benim veri kaynağı bağlamak için window_load olay C# kodu var. PosClass, 'XPos' ve 'YPos' olmak üzere iki özelliğe sahip basit bir sınıftır.
Kod setini çalıştırdığımda elipsim veri kaynağıyla doğru bir şekilde bağlanır ancak elipsin koleksiyondan tam bir satır alması için ayarlanmadığı için, varsayılan olarak son satırı alır ve böylece elipsimi 0 olarak ayarlar. 0 pozisyon
Yapmak istediğim şey, elipsin XAML'ye ekli koleksiyondaki ilk öğeyi kullanması için ayarlanmasıdır, yoksa daha fazla öğeye sahip olsaydım 10. maddeyi söyler. Yine de XAML'de bunu yapmak istiyorum, şu anda sadece X ve Y pozisyonlarına bağlanıyorum, koleksiyonda hangi satırın kullanılacağını belirtmeme izin veren bir tür sözdizimi var mı? Kullandığınız parantez bağlamak istediğiniz öğeyi belirtebilirsiniz
Benzer bir sorunum var, ancak belirli bir özelliğin belirli bir değere sahip olduğu bir öğeye bağlanmam gerekiyor. Yani bu örnekte PosClass'ın PosID adında bir özelliği olduğunu hayal edin. PosID = 15'i bağlamak istiyorum. Herhangi bir fikir var mı? –