Как редактировать / использовать шаблон данных xaml в коде - PullRequest
2 голосов
/ 24 июня 2011

В XAML у меня есть:

<DataTemplate x:Key="AgeItemTemplate">
    <Border BorderThickness="0,0,0,0" BorderBrush="#6FBDE8">
           <TextBlock Margin="2" Text="{Binding Age}" VerticalAlignment="Center" Grid.Column="1" />
     </Border>
</DataTemplate>

Как я могу использовать этот DataTemplate в коде?

enter image description here

Я знаю, что могу создать новый шаблони связан со столбцом gridview, но я хочу определить этот шаблон в xaml.Есть ли способ изменить и использовать этот dataTemplate в коде позади?

Ответы [ 2 ]

2 голосов
/ 24 июня 2011
<DataTemplate x:Key="PersonItemTemplate" x:Name="someTemplate">
            <Border BorderThickness="0,0,0,0" BorderBrush="#6FBDE8">
                <Grid Margin="2">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="32" />
                        <ColumnDefinition />
                    </Grid.ColumnDefinitions>
                    <Image Source="Images/person.png" Width="24" Height="24" Grid.Column="0" HorizontalAlignment="Center" />
                    <TextBlock Text="{Binding Name}" VerticalAlignment="Center" Grid.Column="1" />
                </Grid>
            </Border>
        </DataTemplate>

код позади:

template1 = (DataTemplate)FindName("someTemplate");

        linkColumn1 = new GridViewColumn
        {
            Header = "Test",
            CellTemplate = template1,
            //Width = 88,  // Comment out to set to auto

        };

        gv.Columns.Add(linkColumn1);

в результате я смог продублировать столбец с кодом:

enter image description here

это полезно дляЗаполняю список динамически, потому что мне сложнее создавать стили в коде.

2 голосов
/ 24 июня 2011

Вам необходимо использовать метод findresource в FrameworkElement.

...