0

このコードについて:

    <DataGrid ItemsSource="{Binding Path=Category.Reports}" 
              AutoGenerateColumns="False" CanUserAddRows="False" CanUserDeleteRows="False"
              Name="_gridReports" SelectedItem="{Binding Report}">
        <DataGrid.RowStyle>
            <Style TargetType="DataGridRow">
                <Setter Property="ContextMenu">
                    <Setter.Value>
                        <ContextMenu DataContext="{Binding Path=PlacementTarget.DataContext, RelativeSource={RelativeSource Self}}">
                            <MenuItem Header="Удалить" Click="OnDeleteClick" 
                                    IsEnabled="{Binding Path=IsDefault, Converter={StaticResource toBoolConverter}}"/>
                            <MenuItem Header="Редактировать" Click="OnEditClick" 
                                    IsEnabled="{Binding Path=IsDefault, Converter={StaticResource toBoolConverter}}" />
                        </ContextMenu>
                    </Setter.Value>
                </Setter>
            </Style>
        </DataGrid.RowStyle>
        <DataGrid.Columns>
            <DataGridTextColumn Binding="{Binding Name}" Header="Название" IsReadOnly="True" />
            <DataGridTextColumn Binding="{Binding Description}" Header="Описание" IsReadOnly="True" />
        </DataGrid.Columns>
    </DataGrid>

コンパイラはほぼそのエラーメッセージを作成します(ロシア語からの翻訳、おそらくいくつかの間違い):

Invalid value "OnDeleteClick". "Click" is not event for "System.Windows.Controls.DataGridTextColumn"

あなたが私を助けてくれることを願っています!お願いします

4

1 に答える 1

1

イベントをスタイルに入れる

<MenuItem Header="Удалить" IsEnabled="{Binding Path=IsDefault, Converter={StaticResource toBoolConverter}}">
    <MenuItem.Style>
        <Style TargetType="MenuItem">
            <EventSetter Event="Click" Handler="OnDeleteClick" />
        </Style>
    </MenuItem.Style>
</MenuItem>

またはコマンドを使用します。

于 2012-10-03T23:13:20.833 に答える