Я пытаюсь по существу обернуть содержимое DataTemplate
в ListView
GridViewColumn
рамкой. Что я хочу знать, так это то, можно ли предоставить рекламное объявление, которое будет окружать этот шаблон, чтобы мне не приходилось указывать границу в каждом DataTemplate
в каждом столбце (что я и делаю сейчас) У меня есть что-то вроде этого, но я знаю, что это неправильно:
<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
и любые другие элементы в дополнительных столбцах.