У меня есть мульти-привязка вроде
<TextBlock>
<TextBlock.Text>
<MultiBinding Converter="{StaticResource myConverter}">
<Binding Path="myFirst.Value" />
<Binding Path="mySecond.Value" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
И я хочу передать фиксированное значение, например «123», в одну из двух привязок выше. Как я могу это сделать с помощью XAML?
wpf
binding
multibinding
Nam G VU
источник
источник
Ответы:
Если ваше значение просто a
string
, вы можете указать его как константу вSource
свойстве привязки. Если это любой другой примитивный тип данных, вам необходимо определить статический ресурс и сослаться на него.Определите
sys
пространство имен в корне XAML, чтобы указать на негоSystem
в mscorlib, и следующее должно работать:источник
Или, объединив два ответа выше:
Что обеспечивает правильный тип без кладжа ресурсов.
источник
sys
в заголовке документа:xmlns:sys="clr-namespace:System;assembly=mscorlib"
Я не совсем понимаю вопрос, но есть два варианта:
Поместите строку
<Binding Source="123" />
в мультибиндинг, который передаст преобразователю 123 как связанное значение.Вставьте
ConverterParameter="123"
MultiBinding:<MultiBinding Converter="{StaticResource conv}" ConverterParameter="123">
источник
IValueConverter
параметры передаются какobject
, что означает, что вам нужно будет безопасно привести значение к правильному типу. IValueConverter.ConvertЯ не говорю, что это особенно хороший ответ, но вот другой подход:
источник