Ok, esto es un poco extraño, pero esto es básicamente lo que tengo que hacer. Tengo un control WPF que está vinculado a un objeto de documento. El objeto Documento tiene una propiedad de Páginas. Entonces, en mi ViewModel, tengo una propiedad CurrentDocument y una propiedad CurrentPage.WPF: Enlace DisplayMemberPath en un cuadro combinado al elemento
Ahora, tengo un combobox que he vinculado a la propiedad CurrentDocument.Pages y actualizo la propiedad CurrentPage.
<ComboBox ItemsSource="{Binding CurrentDocument.Pages}"
DisplayMemberPath="???"
SelectedItem="{Binding CurrentPage, Mode=TwoWay}">
</ComboBox>
¿Conmigo hasta ahora? Todo esto está muy bien, excepto que necesito el DisplayMemberPath para mostrar "Página 1", "Página 2", etc .....
intenté crear un convertidor como este:
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
string pageNumber = "Page {0}";
return string.Format(pageNumber, value);
}
Y tratado de obligar a DisplayMemberPath así:
DisplayMemberPath="{Binding RelativeSource={RelativeSource Self}, Path=Index, Converter={StaticResource pgTitleConv}}"
Pero todavía no se presentaba en el texto cuadro combinado !!!
No hay propiedad de "índice" pero no sé cómo hacer esto ... ¿Cómo accedo al índice del elemento que el combobox es vinculante ... ??????
funcionó de maravilla para mi situación. – JohnathanKong
+1 ¡Gran truco! – Olwaro
Funciona pero el uso de un convertidor afecta el rendimiento. Me adapté arriba para usar la función de enlace StringFormat. p.ej. –
Darren