2014-02-14 2 views
1

Я изо всех сил пытаюсь заставить этот код работать. Связывание работает, но ContentStringFormat в первом или StringFormat во втором, похоже, не работает.RadioButton ContentStringFormat не работает

<RadioButton Content="{Binding ClientCode}" ContentStringFormat="{}{0} copy" 
      IsChecked="{Binding Path= FilterType, 
       Converter={StaticResource EBConverter}, 
       ConverterParameter={x:Static wordMerge:FilterType.ClientCopy}}" 
      Width="90"/> 

Приведенный выше код просто возвращает связывающая значение сказать «ABC», но я ожидал «ABC копия»

<RadioButton IsChecked="{Binding Path= FilterType, 
       Converter={StaticResource EBConverter}, 
       ConverterParameter={x:Static wordMerge:FilterType.ClientCopy}}" 
       Width="90"> 
    <RadioButton.Content> 
     <TextBlock Text="{Binding ClientCode, StringFormat={}{0} copy}"/> 
    </RadioButton.Content> 
</RadioButton> 

Приведенный выше код не возвращает никаких значений для связывания.

Обновлено Строковая копия не отображается во время разработки или во время выполнения в обоих случаях.

+1

Вы пытались использовать 'StringFormat = '\ {0 \} copy''? – Alberto

+0

Если привязка работает, XAML работает, и вы видите значение. Каков ваш ожидаемый результат и каковы результаты, которые вы сейчас получаете? – Kcvin

+1

@ Алберто попробовал это и не повезло – Kiru

ответ

4

Попробуйте

StringFormat='{}copy {0}'}" 

испытания

<TextBlock Text="{Binding Path=Str, Mode=OneWay, StringFormat='{}{0} copy'}"/> 

@Kiru это работает для меня

<RadioButton Content="{Binding Path=Str, Mode=OneWay}" ContentStringFormat='{}{0} copy'/> 
<RadioButton> 
    <TextBlock Text="{Binding Path=Str, Mode=OneWay, StringFormat='{}{0} copy'}"/> 
</RadioButton> 
+0

ошибка времени разработки. Вы можете использовать одиночные или двойные кавычки после '=', так что это был {}, чтобы избежать ожидания скобок. Вам нужно будет сделать «{} {0} копировать», что совпадает с «{} {0} копией» – Kcvin

+0

@NETscape. Вы правы. Обновленный ответ – Paparazzi

+0

@Blam Спасибо, к сожалению, это не сработало. Я должен создать другое свойство, которое добавляет текст, а затем привязывает к нему RadioButton. – Kiru

1

Причина это не работает для меня потому, что я определил свой собственный шаблон для RadioButton, но не уточнил ContentStringFormat переплет.

<TextBlock 
    HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" 
    VerticalAlignment="{TemplateBinding VerticalContentAlignment}" 
    Foreground="{TemplateBinding Foreground}"> 
    <InlineUIContainer><ContentPresenter ContentStringFormat="{TemplateBinding ContentStringFormat}"/></InlineUIContainer> 
</TextBlock> 
Смежные вопросы