XAML: как смешивать переменные text и element-databind в атрибуте Content?

Когда данные связывают два элемента вместе, как я могу включить информацию о привязке И текст, как в случае ниже, где я хочу, чтобы моя метка говорила:

Размер шрифта 8,5.

<Grid>
    <StackPanel>
        <Slider Name="theSlider" Margin="5" Minimum="8" Maximum="14"></Slider>
        <Label Content="The font size is: {Binding ElementName=theSlider, Path=Value}" FontSize="{Binding ElementName=theSlider, Path=Value}"></Label>
    </StackPanel>
</Grid>

Спасибо, вот решение с использованием ContentStringFormat в .NET 3.5:

<Grid>
    <StackPanel>
        <Slider Name="theSlider" Margin="5" Minimum="8" Maximum="14"></Slider>
        <Label Content="{Binding ElementName=theSlider, Path=Value}" ContentStringFormat="The font size is {0}."/>
    </StackPanel>
</Grid>

person Edward Tanguay    schedule 23.01.2009    source источник


Ответы (2)


Кое-что, что я узнал всего пару дней назад здесь, в stackoverflow :)

Если вы используете 3.5 SP1, вы можете использовать свойство StringFormat в своей привязке: http://blogs.msdn.com/llobo/archive/2008/05/19/wpf-3-5-sp1-feature-stringformat.aspx

person Bubblewrap    schedule 23.01.2009

Используйте IValueConverter для Font-Size.. и используйте 2 объекта метки, чтобы разделить строку...

ХТН

person Arcturus    schedule 23.01.2009