Свойство зависимости Binding ItemsSource в пользовательском элементе управления - PullRequest
1 голос
/ 29 ноября 2011

У меня есть пользовательский элемент управления, который имеет свойство зависимости, которое должно заполнять свойство ItemsSource сетки данных в элементе управления.По какой-то причине коллекция никогда не заполняется, и ItemsSource всегда заканчивается пустым.

Public Shared ReadOnly ItemsSourceProperty As DependencyProperty = DependencyProperty.Register("ItemsSource", GetType(ObservableObjectCollection), GetType(HomePageControl), New PropertyMetadata(New ObservableObjectCollection, New PropertyChangedCallback(AddressOf ItemsSourceCallback)))

Public Property ItemsSource As ObservableObjectCollection
        Get
            Return DirectCast(GetValue(HomePageControl.ItemsSourceProperty), ObservableObjectCollection)
        End Get
        Set(value As ObservableObjectCollection)
            SetValue(HomePageControl.ItemsSourceProperty, value)
        End Set
End Property

Xaml:

        <Controls:HomePageControl x:Name="myControl"
                                  Margin="0,25,0,0" 
                                  Grid.Row="1"
                                  HeaderText="{Binding Source={StaticResource MainViewModel}, Path=CurrentUser, Mode=TwoWay, UpdateSourceTrigger=Default}"
                                  HeaderCount="30"
                                  HeaderLinkText="This is optional."
                                  HeaderLinkURI="/Projects"
                                  ItemsSource="{Binding Source={StaticResource MainViewModel}, Path=TaskList, Mode=TwoWay, UpdateSourceTrigger=Default}"
                                  GridViewStyle="{StaticResource RadGridViewStyleNoFlag}"
                                  />

У меня есть пять других DP, которые отлично работают, 3 строки и одинстиль (для настройки столбцов таблицы данных) и URI.Я могу либо установить их напрямую, как в «Это необязательно», либо связать их, как HeaderText, но свойство ItemsSource, кажется, никогда не привязывается ... gridView вне элемента управления, который использует ту же привязку, что и вПривязка ItemsSource внутри элемента управления заполняется ... поэтому привязка возвращает заполненную коллекцию, но не попадает в сетку данных внутри пользовательского элемента управления.

Если я изменю ObservableObjectCollection на тип объекта, который я использую в коллекции, которую я связываю, то она работает нормально.Причина, по которой я хочу использовать ObservableObjectCollection, заключается в том, что я хочу иметь возможность привязывать любой объект к сетке данных, точно так же, как это может делать сетка данных ... не имеет значения, к какому типу вы привязываете его - как я могу заставить свой пользовательский элемент управленияне волнует?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...