Der schnellste Weg, dies zu umgehen ist in der Regel ein Multibinding mit einem IMultiValueConverter zu verwenden, die die Sammlung und den Index für seine Bindungen akzeptiert:
Der Konverter
<TextBlock.Text>
<MultiBinding Converter="{StaticResource ListIndexToValueConverter}">
<Binding /> <!-- assuming the collection is the DataContext -->
<Binding Path="Column.Index"/>
</MultiBinding>
</TextBlock.Text>
kann die Lookup dann tun, basierend auf den beiden Werten wie dies:
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]];
}
MSDN-Link für zukünftige Forscher: http://msdn.microsoft.com/en-us/library/ms742451.aspx – yzorg
Überprüfen Sie meine Antwort auf diesen Link http://stackoverflow.com/q/ 4385693/217880 – biju