C# my UserControl中的ItemsControl未更新
我的UserControl在以下源代码中遇到问题:C# my UserControl中的ItemsControl未更新,c#,silverlight,dependency-properties,itemscontrol,C#,Silverlight,Dependency Properties,Itemscontrol,我的UserControl在以下源代码中遇到问题: [ContentProperty("SetContent")] public partial class HeaderContainer : UserControl { // Header region public FrameworkElement SetContent { get { return (FrameworkElement)GetValue(SetContentProperty); }
[ContentProperty("SetContent")]
public partial class HeaderContainer : UserControl
{
// Header region
public FrameworkElement SetContent
{
get { return (FrameworkElement)GetValue(SetContentProperty); }
set { SetValue(SetContentProperty, value); }
}
public static readonly DependencyProperty SetContentProperty =
DependencyProperty.Register("SetContent", typeof(FrameworkElement),
typeof(HeaderContainer), new PropertyMetadata(null));
public HeaderContainer()
{
InitializeComponent();
DataContext = this;
}
}
这是我的XAML
<StackPanel>
<Border>
<TextBlock Text="{Binding Header}" />
</Border>
<ContentPresenter Content="{Binding SetContent}"/>
</StackPanel>
这是我的问题:
<c:HeaderContainer Header="List">
<ItemsControl ItemsSource="{Binding ObjectList}" >
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding DisplayName}"/>
<TextBlock Text="{Binding SecondLine}" Foreground="Gray" />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</c:HeaderContainer>
当我在XAML中添加内容时,Itemscontrol本身正在工作,UserControl也在工作。问题是,当我在ObjectList位于HeaderContainer中时将其添加到ObjectList时,什么都不会发生。我哪里想错了?这里很难确定确切的问题,因为您的代码不完整。您有一个
SetContent
dependency属性,但是您的示例用法没有使用它。我认为您的方法应该是子类ContentControl
,将您的头属性添加到这个类中
或者。。。只需使用Silverlight工具包,我认为它正是您想要实现的目标 类[ContentProperty(“SetContent”)]上方的行将默认值更改为SetContent。这部分很好用。这只是更新。我想我会仔细考虑你的建议,也许改变这个比制定一个新的更容易。非常感谢。