@GK566

Как правильно вставлять ресурс в Grid?

Добрый день.

Пожалуйста, подскажите, как правильно вызывать/вставлять шаблон в Grid.

Создал шаблон DataGrid:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:local="clr-namespace:MyTest">
        <DataGrid x:Key="DataGridTemplate">
            <DataGrid.Columns>
                <DataGridTextColumn Header="1st" Width="5*" />
                <DataGridTextColumn Header="2nd" Width="5*" />
                <DataGridTextColumn Header="3rd" Width="3*" />
            </DataGrid.Columns>
        </DataGrid>
</ResourceDictionary>


Пытаюсь запихнуть его в первую колонку:

<StaticResource ResourceKey="DataGridTemplate" x:Name="TestUsers" Grid.Column="0" />


Получаю ошибки:
The attached property "Column" can only be applied to types that are derived from "UIElement".
Property 'Column' is not attachable to elements of type 'StaticResourceExtension'.
  • Вопрос задан
  • 93 просмотра
Пригласить эксперта
Ответы на вопрос 1
petermzg
@petermzg
Самый лучший программист
<Window.Resources>

    <DataGrid x:Key="PersonDataGrid" AutoGenerateColumns="False" ItemsSource="{Binding .}" x:Shared="False">
        <DataGrid.Columns>
            <DataGridTextColumn Header="First Name" Binding="{Binding Path=FirstName}" IsReadOnly="True"/>
            <DataGridTextColumn Header="Last Name" Binding="{Binding Path=LastName}" IsReadOnly="True"/>
        </DataGrid.Columns>
    </DataGrid>

</Window.Resources>

<StackPanel>
    <ContentControl Content="{StaticResource PersonDataGrid}" DataContext="{Binding Path=Customers}" />
    <ContentControl Content="{StaticResource PersonDataGrid}" DataContext="{Binding Path=Employees}" />
</StackPanel>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы