Недавно я улучшил свое решение SL2 до SL3. У меня есть UserControl, содержащий только сетку данных:
<UserControl x:Class="Case.CaseDataGrid_View"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data">
<data:DataGrid Language="en-GB"
AutoGenerateColumns="True"
RowHeight="20"
ItemsSource="{Binding Cases}"
SelectedItem="{Binding SelectedCase, Mode=TwoWay}">
</data:DataGrid>
</UserControl>
На это ссылается родительская страница:
<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
x:Class="eg.WorkManager.UI.Module.CaseEnquiry.CaseEnquiry"
d:DesignWidth="888"
d:DesignHeight="480"
xmlns:case="clr-namespace:Case;assembly=UserControls">
<ContentControl x:Name="SecurityContext"
HorizontalContentAlignment="Stretch"
VerticalContentAlignment="Stretch">
<Grid x:Name="LayoutRoot">
<case:CaseDataGrid_View Grid.Row="0"
MinHeight="200"
Margin="8,8,0,8"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Height="Auto"
Cases="{Binding Cases}"
SelectedCase="{Binding SelectedCase, Mode=TwoWay}"
CustomGridFields="{Binding CustomDataGridFields}" />
</Grid>
</ContentControl>
</UserControl>
Когда я добавляю свойство x: Name в свой базовый UserControl, все мои атрибуты в ссылке на элемент управления User начинают выдавать ошибки:
<data:DataGrid x:Name="AnythingItSeems"
Language="en-GB"
AutoGenerateColumns="True"
RowHeight="20"
ItemsSource="{Binding Cases}"
SelectedItem="{Binding SelectedCase, Mode=TwoWay}">
</data:DataGrid>
Об ошибках сначала сообщается как Неизвестный атрибут Grid.Row, указывающий на XAML на родительской странице:
<case:CaseDataGrid_View Grid.Row="0"
Когда я удаляю атрибут Grid.Row, следующий выдает аналогичную ошибку.
Это известная проблема / ошибка с сеткой данных? Если нет, то какие идеи вызывает это?
Спасибо, Марк