Вставить Viewbox в ячейку DataGrid - PullRequest
0 голосов
/ 27 февраля 2012

Я хотел поместить что-то в ViewBox, а затем этот ViewBox был бы добавлен в шаблон ячейки DataGridTemplateColumn. Все это делалось в коде (C #).

Я сделал это с помощьюМетка, но я хотел использовать ViewBox. Код с меткой:

 DataGridTemplateColumn dgtc5 = new DataGridTemplateColumn();

            dgtc5.Width = 142;
            dgtc5.Header = "Page Life Expectancy";
            DataTemplate dtemp5 = new DataTemplate();
            FrameworkElementFactory fef5 = new FrameworkElementFactory(typeof(Label));

Binding b5 = new Binding("PleChart");           
fef5.SetBinding(Label.ContentProperty, b5);

dtemp5.VisualTree = fef5;
dgtc5.CellTemplate = dtemp5;

1 Ответ

2 голосов
/ 27 февраля 2012

См. Мой ответ здесь Привязка содержимого CellTemplate DataGrid к элементу или DependencyProperty, определенному в шаблонном CustomControl .

Простое изменение шаблона данных, например,

<DataTemplate x:Key="template2">
    <Viewbox>
        <StackPanel Orientation="Horizontal">
            <TextBlock Text="Funky: "/>
            <TextBlock Text="{Binding Path=Test, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type local:CustomControl1}}}"/>
        </StackPanel>
    </Viewbox>
</DataTemplate>

заставляет содержащийся текст увеличиваться / уменьшаться до размера окна просмотра.

Или просто сделать это:

<DataGrid.Columns>
    <DataGridTemplateColumn Header="Test">
        <DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <Viewbox>
                    <TextBlock Text="{Binding Name}"/>
                </Viewbox>
            </DataTemplate>
        </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
</DataGrid.Columns>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...