Tengo un enlace múltiple como
<TextBlock>
<TextBlock.Text>
<MultiBinding Converter="{StaticResource myConverter}">
<Binding Path="myFirst.Value" />
<Binding Path="mySecond.Value" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
Y quiero pasar un valor fijo, por ejemplo, "123" a uno de los dos enlaces anteriores. ¿Cómo puedo hacer eso usando XAML?
wpf
binding
multibinding
Nam G VU
fuente
fuente
Respuestas:
Si su valor es simplemente a
string
, puede especificarlo como una constante en laSource
propiedad de un enlace. Si se trata de cualquier otro tipo de datos primitivo, debe definir un recurso estático y hacer referencia a este.Defina el
sys
espacio de nombres en la raíz del XAML al que apuntarSystem
en mscorlib, y lo siguiente debería funcionar:fuente
O, combinando las dos respuestas anteriores:
Lo que proporciona el tipo correcto sin el kludge de Resources.
fuente
sys
en el encabezado del documento:xmlns:sys="clr-namespace:System;assembly=mscorlib"
No sigo la pregunta, pero hay dos opciones:
Ponga la línea
<Binding Source="123" />
en su enlace múltiple que pasará 123 como un valor límite a su convertidor.Ponga
ConverterParameter="123"
su MultiBinding:<MultiBinding Converter="{StaticResource conv}" ConverterParameter="123">
fuente
IValueConverter
, los parámetros se pasan comoobject
, lo que significa que necesitaría convertir el valor al tipo correcto, de una manera segura. IValueConverter.ConvertNo digo que esta sea una respuesta especialmente buena, pero aquí hay otro enfoque:
fuente