我有一个带有 2 列的 WPF 数据网格,表示参数名和值。
我的要求只是特定参数名的一个值(单元格内容)应该是可编辑的,并且整个 Datagrid 内容应该是只读的......
我有一个保存按钮来保存值。
几天来,我一直在研究一个合适的解决方案,在许多情况下这被认为是一个常见的要求,但我还没有发现......
请任何解决方案或想法将不胜感激..
这是 XAML 和 cs:当 Datagrid 加载时,我只希望 PM2 单元格值处于编辑模式,并且所有其他 datagrid 内容应该变灰或不可编辑。
<Grid>
<DataGrid ItemsSource="{Binding}" AutoGenerateColumns="False"
Margin="20,57,18,19" Name="dataGrid1"
Height="250" SelectionUnit="Cell" >
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding ParameterName}" Width="100" Header="Parameter Name" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding Value}" Width="100" Header="Value" />
</DataGrid.Columns>
</DataGrid>
</Grid>
还有我的 CS 代码
public partial class dgSF : Window
{
ObservableCollection<ParameterSet> pmset;
public dgSF()
{
InitializeComponent();
pmset = new ObservableCollection<ParameterSet>();
pmset.Add(new ParameterSet() { ParameterName = "PM1", Value = 10 });
pmset.Add(new ParameterSet() { ParameterName = "PM2", Value = 50 });
pmset.Add(new ParameterSet() { ParameterName = "PM3", Value = 70 });
pmset.Add(new ParameterSet() { ParameterName = "PM4", Value = 80 });
pmset.Add(new ParameterSet() { ParameterName = "PM5", Value = 100 });
dataGrid1.ItemsSource = pmset;
}
}
public class ParameterSet
{
public string ParameterName { get; set; }
public int Value { get; set; }
}
非常感谢,
阿努