Хорошо, это немного странно, но это в основном то, что мне нужно делать. У меня есть элемент управления WPF, связанный с объектом Document. Объект Document имеет свойство Pages. Поэтому в моей модели ViewModel у меня есть свойство CurrentDocument и свойство CurrentPage.
Теперь у меня есть поле со списком, которое связано с свойством CurrentDocument.Pages и обновляет свойство CurrentPage.
<ComboBox ItemsSource="{Binding CurrentDocument.Pages}"
DisplayMemberPath="???"
SelectedItem="{Binding CurrentPage, Mode=TwoWay}">
</ComboBox>
Со мной до сих пор? Все это прекрасно, за исключением того, что мне нужно, чтобы DisplayMemberPath отображал "Страница 1", "Страница 2" и т.д.
Я попытался создать такой конвертер, как это:
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
string pageNumber = "Page {0}";
return string.Format(pageNumber, value);
}
И попытался связать DisplayMemberPath с ним следующим образом:
DisplayMemberPath="{Binding RelativeSource={RelativeSource Self}, Path=Index, Converter={StaticResource pgTitleConv}}"
Но он все равно не появится в тексте со списком!
Нет свойства "Index", но я не знаю, как это сделать... Как мне получить доступ к индексу элемента, связанного со списком,...??????