无法使用绑定表达式设置字段宽度

时间:2012-09-25 16:55:04

标签: wpf infragistics xamdatagrid

我有一个非常简单的要求,即如果满足绑定表达式,则动态地将XamDataGrid中的几个(不是全部,仅几个)列的宽度设置为0.

有问题的列总是遵循这种结构:

<igDP:UnboundField Name="Data Field 1" BindingPath="SrcEntity.Field1" 
    Width="{Binding Path=DataContext.GetDynamicWidth}">
    <igDP:Field.Settings>
        <igDP:FieldSettings AllowHiding="Always" AllowResize="True" />
    </igDP:Field.Settings>
</igDP:UnboundField>

当我调试应用程序时,DataContext.GetDynamicWidth按预期调用,并按预期返回宽度值(0Double.NaN)。但是在网格上,这些具有动态绑定宽度的列的实际宽度不变。

有人能告诉我这是否是一个Infragistics错误,或者我在这里遗漏了什么?

注意:我还尝试了以下字段设置:

<igDP:FieldSettings AllowHiding="Always" 
    AllowResize="True" CellWidth="{Binding Path=DataContext.GetDynamicWidth}" />

这也不成功。

1 个答案:

答案 0 :(得分:1)

Field不是可视树或逻辑树的一部分,因此无法绑定到DataContext。要解决此问题,您可以绑定到StaticResource。