在我的WPF项目中,我有一个像这样的xml文件:
<NewDataSet>
<Communications>
<ModelNumber>0x01</ModelNumber>
<ParamName>BaudRate</ParamName>
<ParamValue>19200</ParamValue>
<DefaultValue>502</DefaultValue>
<MaxValue></MaxValue>
<MinValue></MinValue>
</Communications>
</NewDataSet>
我当前的绑定xml到datagrid的方式如下:
<DataGrid Name="dgCommunication" ItemsSource="{Binding CommunicationsView}">
<DataGrid.Columns>
<DataGridTextColumn Header="ParamName" Binding="{Binding ParamName}" IsReadOnly="True"/>
<DataGridTextColumn Header="ParamValue" Binding="{Binding ParamValues, Mode=TwoWay}" />
<DataGridTextColumn Header="DefaultValue" Binding="{Binding DefaultValue}" IsReadOnly="True"/>
<DataGridTextColumn Header="MaxValue" Binding="{Binding MaxValue}" IsReadOnly="True"/>
<DataGridTextColumn Header="MinValue" Binding="{Binding MinValue}" IsReadOnly="True"/>
</DataGrid.Columns>
</DataGrid>
ItemsSource是这样的:
private ICollectionView _ModulesView;
public ICollectionView ModulesView
{
get
{
if (_ModulesView == null)
RefreshModules();
return _ModulesView;
}
set
{
_ModulesView = value;
NotifyPropertyChanged();
}
}
private void RefreshModules()
{
ModulesView = new ListCollectionView(sdb.GetModules())
{
Filter = obj =>
{
var Module= (Module)obj;
return SelectedProduct != null && Product.ModelNumber == SelectedProduct.ModelNumber;
}
};
}
上面的代码工作正常。
现在我想将一些datagrid单元格更改为comboBox。例如,我想让ParamValue
可选择,所以我可以像这样更改我的xml文件:
<NewDataSet>
<Communications>
<ModelNumber>0x01</ModelNumber>
<ParamName>BaudRate</ParamName>
<ParamValues>
<ParamValue>9600</ParamValue>
<ParamValue>19200</ParamValue>
<ParamValue>115200</ParamValue>
</ParamValues>
<DefaultValue>502</DefaultValue>
<MaxValue></MaxValue>
<MinValue></MinValue>
</Communications>
我应该怎样做才能做到这一点?提前致谢!