2
我试图实质上用0123边框在ListView
GridViewColumn
中包含DataTemplate
的内容。我想知道的是,如果可以提供一个围绕该模板的装饰器,那么我就不必在每一列上指定每个栏的每个DataTemplate
的边框(这正是我现在所做的)。我有这样的事情,但我知道这是不对的:包装或装饰wpf列表视图数据模板
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="TemplateContent">
<Setter.Value>
<ControlTemplate>
<StackPanel>
<Border BorderBrush="Green" BorderThickness="1">
<AdornedElementPlaceholder />
</Border>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
这抱怨说TemplateContent
是不是有效的类型。我也试过DataTemplate
,这也不管用(可以理解)。
我知道我可以创建一个DataTemplate
,但每列的内容是不同的。至少,它绑定到不同的领域。我想知道是否有使用动态资源的解决方案,但我对此不太了解。感谢您的帮助
编辑:这是我的ListView
样本:
<ListView ItemsSource="{Binding Path=OrderLines}"
ItemContainerStyle="{StaticResource ResourceKey=ListViewItemContainerStyle}">
<ListView.View>
<GridView>
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBox MaxWidth="30" Width="30" MaxLength="2"
Text="{Binding Path=Quantity,ValidatesOnDataErrors=True}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridView>
<ListView.View>
</ListView>
基本上我想包装在DataTemplate
和文本框在其他列的其他项目。
这似乎不工作,我认为,因为它取代了整个ListBoxItem/ListViewItem模板 - 所以绿色框绕过整个行,而不是每个单元格。 – itowlson 2010-03-22 22:08:38
我应该提到我打错了,目标类型是任何ListVIEWItem而不是ListBoxItem。因此,我似乎无法得到这个例子的工作。它将适用于列表视图中的那些GridViewColumns中的项目,但是,我所看到的只是绿色边框,并且内容现在已消失。我的列表视图有自定义模板。我将用代码示例更新主要请求。 我该如何将这种风格应用于单数列表视图(即:什么是将静态资源绑定到列表视图上的属性,因为它不是单元模板)。 – 2010-03-22 22:18:40