У меня есть пользовательский элемент управления, который имеет свойство зависимости, которое должно заполнять свойство 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, заключается в том, что я хочу иметь возможность привязывать любой объект к сетке данных, точно так же, как это может делать сетка данных ... не имеет значения, к какому типу вы привязываете его - как я могу заставить свой пользовательский элемент управленияне волнует?