WPF:如果项目是字符串,如何为ItemsControl中的项目应用数据模板?

WPF:如果项目是字符串,如何为ItemsControl中的项目应用数据模板?,wpf,wpf-controls,datatemplate,Wpf,Wpf Controls,Datatemplate,下面定义的ItemsControl由字符串[]工作日填充。为ItemsControl.itemstemplate定义的DataTemplate不起作用,即周日项目未填充红色背景。我该如何解决这个问题?谢谢 ... <ItemsControl Grid.Row="1" Margin="20,0,0,0" ItemsSource="{Binding Path=WeekDays}"> <ItemsControl.ItemsPanel>

下面定义的
ItemsControl
字符串[]工作日
填充。为
ItemsControl.itemstemplate
定义的
DataTemplate
不起作用,即周日项目未填充红色背景。我该如何解决这个问题?谢谢

 ...
<ItemsControl 
    Grid.Row="1" 
    Margin="20,0,0,0" 
    ItemsSource="{Binding Path=WeekDays}">
  <ItemsControl.ItemsPanel>
    <ItemsPanelTemplate>
      <UniformGrid Rows="1" />
    </ItemsPanelTemplate>
  </ItemsControl.ItemsPanel>
  <ItemsControl.ItemTemplate>
    <DataTemplate>
      <TextBlock Background="Red" />
    </DataTemplate>
  </ItemsControl.ItemTemplate>
</ItemsControl>
 ...
。。。
...

注意:
string[]WeekDays
是此控件的依赖属性。我不确定这些信息是否与找到解决方案有关

您需要将
TextBox
Text
属性绑定到某个对象,以使其正常工作。因此,由于数据模板的数据上下文是字符串本身,因此绑定应如下所示:

<DataTemplate>
  <TextBlock Text="{Binding}" Background="Red" />
</DataTemplate>

您需要将
TextBox
Text
属性绑定到某个对象,以使其正常工作。因此,由于数据模板的数据上下文是字符串本身,因此绑定应如下所示:

<DataTemplate>
  <TextBlock Text="{Binding}" Background="Red" />
</DataTemplate>