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>