En utilisant l'exemple suivant R # (resharper) n'est pas capable de trouver le datacontext du style Row et avertit d'une mauvaise liaison (à l'exécution fonctionne correctement). On dirait que le style ne reçoit pas le DataContext du ItemsSource:Définition de DataContext sur DataGrid.RowStyle
MainWindow.xaml:
<Window x:Class="TestDatacontext.MainWindow"
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:testDatacontext="clr-namespace:TestDatacontext"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DataContext="{d:DesignInstance testDatacontext:MainWindowVM}" >
<DataGrid ItemsSource="{Binding Items}" >
<DataGrid.RowStyle>
<Style TargetType="DataGridRow" >
<Setter Property="Header" Value="{Binding Name}" />
</Style>
</DataGrid.RowStyle>
</DataGrid>
</Window>
MainWindowVM:
using System.Collections.ObjectModel;
namespace TestDatacontext
{
class MainWindowVM
{
public ObservableCollection<ItemVM> Items { get; private set; }
}
}
ItemVM:
namespace TestDatacontext
{
class ItemVM
{
public string Name { get; set; }
}
}
Merci de clarifier mais ... Je ne peux pas voir où la relation 1 article de ItemsSource == 1 Row n'est pas valide et si elle est, vous pouvez définir le DataContext du RowStyle à celui de chaque rangée ne pouvez pas vous? –
ReSharper ne sait pas quelle sémantique de 'Row' est et comment le style sera utilisé par le contrôle (ou sera-t-il jamais utilisé?). Tout comme ici, R # n'a aucune idée de ce que 'ColumnHeaderStyle' est et comment il se rapporte à' ItemsSource' de contrôle de contrôle: https://gist.github.com/4125475 – ControlFlow
Je vois ... Merci! –