Domanda

I'm trying to add a Style to a datagrid, but I'm getting this error:

If I comment the style part everything works fine. Here is my XAML, can anybody help me? thank you Andrea

                    <dg:SelfBindingDataGrid Grid.Row="1" ItemsSource="{Binding Path=CurrentMachine.LNE_AUTOMATION_PARAM, Mode=TwoWay}"
                                SelectedItem="{Binding Path=CurrentAutParameter}" IsReadOnly="False">
                    <dg:SelfBindingDataGrid.Columns>
                        <dg:ExtDataGridComboBoxColumn Header="Spec. Element" Tag="CD_ELEMENT" Width="*"
                                                          TextSearch.TextPath="description" 
                                                          SelectedValueBinding="{Binding Path=CD_ELEMENT, Mode=TwoWay,
                                                               UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True, NotifyOnValidationError=True}" 
                                                          ItemsSource="{Binding Source={StaticResource ElementView}}" 
                                                          SelectedValuePath="CD_ELEMENT" 
                                                          DisplayMemberPath="description"/>
                        <dg:ExtDataGridTextColumn Header="Case File" Width="*" Tag="ID_CASE_TEST_FILE_TO_UPPER">
                        </dg:ExtDataGridTextColumn>
                        <dg:ExtDataGridNumericColumn Header="Case Index" Width="*" Tag="ID_INDEX"/>
                        <dg:ExtDataGridNumericColumn Header="MIN" Width="*" Tag="ID_RANGE_MIN"/>
                        <dg:ExtDataGridNumericColumn Header="MAX" Width="*" Tag="ID_RANGE_MAX"/>
                        <dg:ExtDataGridComboBoxColumn Header="Compile Method" Width="*"
                                              ItemsSource="{Binding Source={x:Static local:AddMachineViewModel.ApproachList}, Mode=OneWay}" 
                                              SelectedValueBinding="{Binding Path=ID_COMMAND_FILE, Mode=TwoWay, 
                                                        UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True, NotifyOnValidationError=True}" 
                                              SelectedValuePath="ID_TYPE" 
                                              DisplayMemberPath="FL_TYPE"/>
                    </dg:SelfBindingDataGrid.Columns>
                    <Style TargetType="DataGridRow">
                        <Style.Resources>
                            <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="LightBlue"/>
                            <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Black" />
                            <SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="LightBlue" />
                            <SolidColorBrush x:Key="{x:Static SystemColors.ControlTextBrushKey}" Color="Black" />
                        </Style.Resources>
                    </Style>
                </dg:SelfBindingDataGrid>
            </Grid>
        </GroupBox>
È stato utile?

Soluzione

You have added the Style as data item, but apparently wanted to add it to the Resources of the SelfBindingDataGrid:

<dg:SelfBindingDataGrid ...>
    <dg:SelfBindingDataGrid.Resources>
         <Style TargetType="DataGridRow">
             ...
         </Style>
    </dg:SelfBindingDataGrid.Resources>
    ...
</dg:SelfBindingDataGrid>

If you intended to set the Style of the SelfBindingDataGrid, it should look like this:

<dg:SelfBindingDataGrid ...>
    <dg:SelfBindingDataGrid.Style>
         <Style TargetType="dg:SelfBindingDataGrid">
             ...
         </Style>
    </dg:SelfBindingDataGrid.Style>
    ...
</dg:SelfBindingDataGrid>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top