Получение текста из текстового блока, определенного в стиле - PullRequest
0 голосов
/ 08 июня 2011

У меня есть стиль в моем приложении Silverlight 4. где я определяю имена столбцов в сетке, возможно ли получить этот текст заголовков от объекта с этим стилем? В приведенном ниже коде я хотел бы получить строки "foo" и "bar" из объекта с этим стилем.

</Grid>
    <Grid
    x:Name="m_Headers"
    Visibility="Visible"
    Grid.Row="1">
        <Grid.ColumnDefinitions>
            <ColumnDefinition
            Width="{StaticResource DataColunmWidth}" />
            <ColumnDefinition
            Width="{StaticResource DataColunmWidth}" />
        </Grid.ColumnDefinitions>
        <TextBlock
        Margin="3,0,0,0"
        Text="foo"
        Grid.Column="1" />
        <TextBlock
        Margin="3,0,0,0"
        Text="bar"
        Grid.Column="2" />
    </Grid>

1 Ответ

0 голосов
/ 08 июня 2011

Я не думаю, что вы можете сделать это с помощью чистого XAML, вам придется дублировать шаблоны или создавать пользовательский элемент управления, который отображает текстовые значения как свойства зависимостей через шаблон.

Лучшее решение, я думаю, - это настроить привязки для ваших заголовков Grid и заполнить их, используя вашу ViewModel:

<Grid
x:Name="m_Headers"
Visibility="Visible"
Grid.Row="1">
    <Grid.ColumnDefinitions>
        <ColumnDefinition
        Width="{StaticResource DataColunmWidth}" />
        <ColumnDefinition
        Width="{StaticResource DataColunmWidth}" />
    </Grid.ColumnDefinitions>
    <TextBlock
    Margin="3,0,0,0"
    Text="{Binding FooText}"
    Grid.Column="1" />
    <TextBlock
    Margin="3,0,0,0"
    Text="{Binding BarText}"
    Grid.Column="2" />
</Grid>
...