0
У меня возникает одна проблема, связанная с ComboBox
от DataGrid
. Данные являются обязательными, но они не отображаются в ComboBox
после привязки. Мой код, как показано ниже:привязка данных в комбинированном поле wpf в сетке данных
<my:DataGridTemplateColumn Header="UsgSrc">
<my:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox Name="cbUsgSrc"
ItemsSource="{Binding Source={StaticResource UsgSrcUOMS}}"
SelectedValue="{Binding Path=UsgSrc}"
SelectedValuePath="UtType"
DisplayMemberPath="UtType">
</ComboBox>
</DataTemplate>
</my:DataGridTemplateColumn.CellTemplate>
</my:DataGridTemplateColumn>
Код для статического ресурса:
UsgSrcUOMS.ObjectDataProvider UsageSrcUOMS = null;
UsageSrcUOMS = (ObjectDataProvider)FindResource("UsgSrcUOMS");
UsageSrcUOMS.ObjectInstance = objUtView;
Microsoft.Windows.Controls.DataGridCell cell = obj.GetCell(dgMtrHdr, J, 11);
if (cell != null)
{
ContentPresenter panel = cell.Content as ContentPresenter;
if (panel != null)
{
ComboBox cmbUsUtilit = obj.GetVisualChild<ComboBox>(panel);
cmbUsUtilit.IsEnabled = true;
if(objUtView!=null)
cmbUsUtilit.ItemsSource = objUtView;cmbUsUtilit.SelectedIndex=2;
}
}
Что является причиной этого. Пожалуйста, помогите мне решить мою проблему.
Привет Синус, только теперь я пытался как то, что вы said.But я получаю следующее сообщение об ошибке в коде позади. «System.Windows.Data.ObjectDataProvider» не является допустимым значением для свойства «ItemsSource». – cas001s
вы можете поделиться кодом, в котором вы определяете StaticResource UsgSrcUOMS – makim
Привет Сине, спасибо за ответ. В коде позади я назначаю данные UsgSrcUOMS.ObjectDataProvider UsageSrcUOMS = null; UsageSrcUOMS = (ObjectDataProvider) FindResource ("UsgSrcUOMS"); UsageSrcUOMS.ObjectInstance = objUtView; Microsoft.Windows.Controls.DataGridCell cell = obj.GetCell (dgMtrHdr, J, 11); if (cell! = Null) {ContentPresenter panel = cell.Content как ContentPresenter; if (panel! = Null) {ComboBox cmbUsUtilit = obj.GetVisualChild (панель);cmbUsUtilit.IsEnabled = true; if (objUtView! = Null) cmbUsUtilit.ItemsSource = objUtView; cmbUsUtilit.SelectedIndex = 2;}} –
cas001s