2011-01-27 24 views
7

Estoy tratando de combinar 2 campos de información en mi grilla mediante el uso de un Multibinding, el multibinding está funcionando bien, pero estoy teniendo problemas cuando trato de comenzar a formatear 1 de los campos que es un fecha en este enlace.WPF Multibing string cadena fecha

Los 2 campos son usuarios iniciales es decir, la UEG y la de entrada con la esperanza de conseguir un campo combinado el aspecto de "la UEG - 01/01/2011"

continuación es donde estoy con mi XAML existente

<tk:DataGridTextColumn.Binding> 
    <MultiBinding StringFormat=" {0} - {}{1:dd/MM/yyyy}"> 
    <Binding Path="UserInitials" /> 
    <Binding Path="EntryDate" /> 
    </MultiBinding> 
</tk:DataGridTextColumn.Binding> 

Cualquier ayuda o punteros son más apreciadas

Respuesta

17

no se ha podido ver el bosque por los árboles

la simple eliminación de las llaves vacías resuelven mi problema.

<tk:DataGridTextColumn.Binding> 
    <MultiBinding StringFormat=" {0} - {1:dd/MM/yyyy}"> 
    <Binding Path="UserInitials" /> 
    <Binding Path="EntryDate" /> 
    </MultiBinding> 
</tk:DataGridTextColumn.Binding> 

Gracias a todos los que se tomaron el tiempo para mirar.

+0

Ejemplo de MSDN que incluye un convertidor [link] (http://msdn.microsoft.com/en-us/library/system.windows.data.imultivalueconverter.aspx) –

4

A menos que la intención de tener un espacio principal en el valor con formato que debe utilizar esta unión en su lugar:

<tk:DataGridTextColumn.Binding> 
    <MultiBinding StringFormat="{}{0} - {1:dd/MM/yyyy}"> 
    <Binding Path="UserInitials" /> 
    <Binding Path="EntryDate" /> 
    </MultiBinding> 
</tk:DataGridTextColumn.Binding> 

si el StringFormat se inicia con una llave izquierda { el analizador XAML se requiere para escapar de ella mediante un par de llaves {}. De lo contrario, el analizador se confunde porque los frenos también se utilizan en la sintaxis de las extensiones de marcado.

Los detalles se encuentran en la documentación de XAML para {} Escape Sequence/Markup Extension.

Tal vez tenía la secuencia de escape colocada correctamente en la cadena de formato inicialmente y las cosas movidas alrededor resultando en el par de llaves vacías en el lugar incorrecto?