Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# my UserControl中的ItemsControl未更新_C#_Silverlight_Dependency Properties_Itemscontrol - Fatal编程技术网

C# my UserControl中的ItemsControl未更新

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); }

我的UserControl在以下源代码中遇到问题:

[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。这部分很好用。这只是更新。我想我会仔细考虑你的建议,也许改变这个比制定一个新的更容易。非常感谢。