我有一个DevExpress网格控件,但是,标题中的空间是有限的,因此我的所有文本都不适合。标题中有一个相当大的填充(或者可能是边距),如果我可以减少则解决我的问题。但我无法弄清楚填充的位置。
该列定义为......
<dxg:GridColumn
CellStyle="{StaticResource DefaultCellStyle}"
CellTemplate="{StaticResource TestCellValueTemplate}"
FieldName="Test2.DisplayValue"
Header="{Binding Columns.Test2Column}"
HeaderTemplate="{StaticResource TestColumnHeaderTemplate}"
HorizontalHeaderContentAlignment="Center"
Visible="{Binding Columns.Test2Column.IsVisible}"
VisibleIndex="2" />
HeaderTemplate
是
<DataTemplate
x:Key="TestColumnHeaderTemplate"
DataType="vsvm:FvcSessionGridTestColumn">
<StackPanel
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Orientation="Vertical">
<TextBlock
HorizontalAlignment="Stretch"
FontWeight="Bold"
Text="{Binding Header}" />
<TextBlock
HorizontalAlignment="Center"
FontSize="11"
Text="{Binding Time, Mode=OneWay, StringFormat=HH:mm:ss}" />
</StackPanel>
</DataTemplate>
在任何地方都没有提到边距或填充。但是虽然我可以控制StackPanel
的宽度,但是如果我使它大于可用空间,它就会消失在单元格的填充后面。
我尝试过添加
ColumnHeaderContentStyle="{StaticResource DefaultHeaderStyle}"
(还有)
<Style x:Key="DefaultHeaderStyle"
TargetType="{x:Type dxg:HeaderContentControl}">
<Setter Property="Margin" Value="0, 0, 0, 0" />
<Setter Property="Padding" Value="0, 0, 0, 0" />
<Setter Property="Background" Value="Red" />
</Style>
到GridColumn
元素但似乎完全被忽略了。
值得注意的是,我使用“Snoop”试图找到边距的来源,并显示ContentMargin
的{{1}}。如果我改变它,它似乎在Snoop内工作。但我不知道代码在哪里适用或在哪里覆盖它。
答案 0 :(得分:0)
我终于找到了答案......
https://www.devexpress.com/Support/Center/Question/Details/T241104
我的解决方案是覆盖ColumnHeaderDockPanel中的class ProductsFilter(django_filters.FilterSet):
subcategory= django_filters.ChoiceFilter(lookup_expr='iexact', choices=[], required=False)
def __init__(self, category, *args, **kwargs):
super(ProductsFilter, self).__init__(*args, **kwargs)
choices = self.fields['subcategory'].extra['choices']
choices += [
(subcat.name, subcat.name) for subcat
in SubCategory.objects.filter(category=category)
]
class Meta:
model = Products
。
ContentMargin
<UserControl.Resources>