Я недавно обновил свое приложение Silverlight с 3 до 4. После нескольких часов удара головой о стену, пытаясь решить проблему, я сузил проблему до следующего:
У меня есть пользовательский элемент управления с ComboBox внутри. ComboBox имеет одного дочернего элемента ComboBoxItem. Пользовательский элемент управления предоставляет аксессоры get, которые возвращают объект Items ComboBox, что позволяет мне добавлять дополнительные ComboBoxItems через xaml.
В Silverlight 3 все работало нормально, однако в Silverlight 4 не работает.
Как код:
//XAML
<UserControl ... >
<ComboBox Name="myComboBox">
<ComboBoxItem Content="Select an Item" />
</ComboBox>
<!-- All my other stuff -->
</UserControl>
//Code behind
public ItemCollection ListItems
{
get
{
return myComboBox.Items;
}
}
//Implementation of User-Control
<CustomControl:UserControl ... >
<CustomControl:UserControl.ListItems>
<ComboBoxItem Content="Item 1" />
<ComboBoxItem Content="Item 2" />
<ComboBoxItem Content="Item 3" />
</CustomControl:UserControl.ListItems>
</CustomControl:UserControl>
Как я уже говорил, все это отлично работало в Silverlight 3, но не работает в Silverlight 4.
Обходной путь, по-видимому, заключается в удалении того единственного ComboBoxItem, который находится внутри моего пользовательского элемента управления, но я надеюсь избежать этого, поскольку я хочу использовать его как элемент по умолчанию.
Любая помощь будет высоко ценится!