<TextBlock Text="{Binding Path=[0]} />
veyawpf bağlamak
<TextBlock Text="{Binding Path=[myKey]} />
çalışıyor. Ama bir değişken indeks anahtar olarak geçmenin bir yolu var mı?
<TextBlock Text="{Binding Path=[{Binding Column.Index}]} />
<TextBlock Text="{Binding Path=[0]} />
veyawpf bağlamak
<TextBlock Text="{Binding Path=[myKey]} />
çalışıyor. Ama bir değişken indeks anahtar olarak geçmenin bir yolu var mı?
<TextBlock Text="{Binding Path=[{Binding Column.Index}]} />
Bu
IValueConverter
IMultiValueConverter
gerektirir.
Gerçekten mi? bunu bir değer dönüştürücüsüyle nasıl yapacağınızı anlatabilir misiniz? – ColinE
Hayır, korkarım ki hayır. Bu noktada, verilerinizi daha kolay bir hale getirmek için verilerinizi şekillendiren bir görünüm modeli oluşturmayı düşünmeniz gerekir.
bu işlemek için hızlı yolu toplama ve bağlamaları için endeksini kabul eden IMultiValueConverter ile MultiBinding kullanmak genellikle geçerli:
<TextBlock.Text>
<MultiBinding Converter="{StaticResource ListIndexToValueConverter}">
<Binding /> <!-- assuming the collection is the DataContext -->
<Binding Path="Column.Index"/>
</MultiBinding>
</TextBlock.Text>
gibi iki değerlerine dayalı arama yapmak sonra yapabilirsiniz dönüştürücü Bu:
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
if (values.Length < 2)
return Binding.DoNothing;
IList list = values[0] as IList;
if (list == null || values[1] == null || !(values[1] is int))
return Binding.DoNothing;
return list[(int)values[1]];
}
gelecekteki arama için
MSDN linki: http://msdn.microsoft.com/en-us/library/ms742451.aspx – yzorg
bu bağlantıdaki Cevabımı kontrol http://stackoverflow.com/q/ 4385693/217880 – biju