C# 禁用WPF DataGrid上的行编辑

C# 禁用WPF DataGrid上的行编辑,c#,wpf,datagrid,C#,Wpf,Datagrid,我需要帮助。我正在尝试禁用WPF数据网格上的某些行编辑。 这是我的XAML: <DataGrid ItemsSource="{Binding Path=Combustibles}" AutoGenerateColumns="False" SelectedItem="{Binding Path=SelectedCombustible}"> <DataGrid.Resources> <Style TargetType="{x:Type DataG

我需要帮助。我正在尝试禁用WPF数据网格上的某些行编辑。 这是我的XAML:

<DataGrid ItemsSource="{Binding Path=Combustibles}" AutoGenerateColumns="False" SelectedItem="{Binding Path=SelectedCombustible}">
    <DataGrid.Resources>
        <Style TargetType="{x:Type DataGridRow}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding IsReadOnly}" Value="True" >
                    <Setter Property="IsEnabled" Value="False" />                                
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </DataGrid.Resources>
</DataGrid>
那么,第1行是否应该禁用edditing


我的最后一个任务是手动启动行编辑(每行上有一个链接),并用每行上的另一个链接确认行编辑,以使用WCF服务保存数据。

您可以手动定义列

<DataGridTemplateColumn>
   <DataGridTemplateColumn.CellTemplate>
       <DataTemplate>
           <TextBox Text="{Binding Path=YourField}" 
                    IsReadOnly="{Binding IsReadonly}"/>
       </DataTemplate>
   </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>


希望这对我有帮助

你的xaml对我很好。我会调查你的IsReadonly财产。检查Visual Studio输出中的绑定表达式路径错误。

这实际上是解决DataGrid中许多样式问题的答案。例如,我想定制手机背景,我所能找到的都是引起副作用的。另外:如果您这样做,您可能还需要自定义
DataGridTemplateColumn.CellEditingTemplate
public partial class CombustiblesWCFModel
{
    public Boolean IsReadOnly { get; set; }
}
<DataGridTemplateColumn>
   <DataGridTemplateColumn.CellTemplate>
       <DataTemplate>
           <TextBox Text="{Binding Path=YourField}" 
                    IsReadOnly="{Binding IsReadonly}"/>
       </DataTemplate>
   </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>