Свойство зависимости с ObservableCollection, привязанное к сетке данных

#wpf #binding #dependency-properties

#wpf #привязка #свойства зависимости

Вопрос:

Я пытаюсь изучить новую вещь в WPF, и я просто не могу заставить ее работать. Я объявил свойство DependencyProperty и пытаюсь использовать его для привязки наблюдаемой коллекции к сетке данных. Это мой код:

 public static readonly DependencyProperty dpActivityProperty =
            DependencyProperty.Register("dpActivity",
            typeof(ObservableCollection<Activity>),
            typeof(MainWindow));

        public ObservableCollection<Activity> dpActivity
        {
            get { return (ObservableCollection<Activity>)GetValue(dpActivityProperty); }
            set { SetValue(dpActivityProperty, value); }
        }
  

Вот мой xaml:

 <WpfToolkit:DataGrid Name="DG1" ItemsSource="{Binding dpActivity,ElementName=Utils}"
  

Utils — это x:имя главного окна.

Проблема, с которой я сталкиваюсь, заключается в том, что в моей сетке данных не отображаются данные. Ошибок привязки нет, и я могу видеть данные, если не использую свойство dependency и просто устанавливаю itemssource в наблюдаемую коллекцию. Я пытался найти это в Google, и безуспешно. Кто-нибудь может указать мне правильное направление?

Я поместил в проект другую сетку данных и установил autogeneratecolumns= true. При этом отображаются данные из dpActivity. ошибка должна быть в этом коде:

 <WpfToolkit:DataGrid.Columns>
                                <WpfToolkit:DataGridTextColumn
                                    Header="Sport"
                                    Width="90"
                                    Binding="{Binding Path=Sport}" />
  

По-прежнему нет ошибок привязки.

Вау! Извините, что потратил впустую время каждого, я нашел DG1.Оператор ItemsSource = Null, который я забыл прокомментировать. Это переопределило все, чтобы дать мне пустую сетку данных. Теперь все работает отлично. Еще раз извините

Комментарии:

1. Это выглядит нормально, у вас действительно нет никаких ошибок привязки вообще?

2. Где вы установили свой DP? Можете ли вы опубликовать этот код?

3. Я проверил, и ошибок привязки нет, вот как я устанавливаю dpActivity: dpActivity = myActivityReturn(out myActrec); где myActivityReturn возвращает наблюдаемую коллекцию типа <Activity> . Если я проверю dpActivity, он заполнен данными. Это очень сбивает с толку

4. После проверки я думаю, что проблема заключается здесь<WPFToolkit:DataGrid. Столбцы> <WPFToolkit:DataGridTextColumn Header=»Sport» Width=»90″ Binding=»{Путь привязки =Sport}» /> если я помещу datagrid в проект и установлю autogeneratecolumns = true, это сработает, и я смогу видеть данные. Таким образом, привязка к столбцам, должно быть, неправильная.