none
Обращение к полям, объявленным в стиле RRS feed

  • Вопрос

  • Здравствуйте. Имеется стиль такого вида:

    <Style TargetType="Button" x:Key="ButtonStyle"> <Setter Property="Background" Value="Black"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Button"> <Grid> <Path x:Name="Path" Stroke="CornflowerBlue" StrokeThickness="5" Data="M 0,25 C 30,25 30,5 45,2.5 L 265 2.5 C 280,2.5 280,25 310,25

    M 0,25 C 30,25 30,47.5 45,47.5 L 265 47.5 C 280,47.5 280,25 310,25" Fill="Black"> <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Margin="40,10"> <TextBlock x:FieldModifier="public" x:Name="headerTextBlock" HorizontalAlignment="Left" Margin="0" TextWrapping="Wrap" Text="X:" VerticalAlignment="Stretch" Foreground="Orange"/> <TextBlock x:FieldModifier="public" x:Name="answerTextBlock" Margin="5,0,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Stretch" HorizontalAlignment="Left"/> </StackPanel> </Grid> ...


    Вопрос: как мне из кода обращаться к этим полям. Например, мне нужно раз в минуту менять текст второго текстблока. Как это можно реализовать?.. Уже весь мозг сломал. Нужно что-то вроде

     var button = new Button { headerTextBlock = new TextBlock { Text = "header" }, answerTextBlock = new TextBlock {Text = "answer"}};



    • Изменено PsilonRus 11 октября 2012 г. 21:49
    11 октября 2012 г. 21:48

Ответы

  • Сделал так:

    <StackPanel x:Name="stackpanel" Orientation="Horizontal" HorizontalAlignment="Left" Margin="40,10">
       <TextBlock x:Name="headerTextBlock" Text="{TemplateBinding DataContext}" Margin="5,0" Foreground="Orange"/>
       <TextBlock x:Name="answerTextBlock" Text="{TemplateBinding Content}" />
    </StackPanel>


    • Помечено в качестве ответа PsilonRus 12 октября 2012 г. 4:13
    • Изменено PsilonRus 12 октября 2012 г. 4:24
    12 октября 2012 г. 4:13