Silverlight Gridcolumn折叠代码中的可见性

时间:2010-03-10 11:31:54

标签: silverlight datagrid

我遇到了一个小问题。

我的这个网格有一列:

<data:DataGrid ColumnHeaderStyle="{StaticResource headerStyle}" Foreground="#234BC3" AutoGenerateColumns="False" Name="protocollenBAMDataGrid" LoadingRow="myDataGrid_LoadingRow" SelectionChanged="DataGrid_SelectionChanged">
                    <data:DataGrid.Columns>
                        <data:DataGridTemplateColumn Header="Resend" x:Name="ResendColumn">
                            <data:DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                    <Button Content="Resend" Tag="{Binding MsgID}" Foreground="#234BC3" Click="dataGridHL7_Click"></Button>
                                </DataTemplate>
                            </data:DataGridTemplateColumn.CellTemplate>
                        </data:DataGridTemplateColumn> ...

如果我将“ResendColumn”的可见性设置为折叠,则可以正常工作。

但是我需要在代码中执行此操作,因此我尝试在加载事件中执行此操作:

ResendColumn.Visibility = Visibility.Collapsed;

它给了我一个nullref异常:

  

对象引用未设置为   对象的实例。

我不明白为什么?

1 个答案:

答案 0 :(得分:0)

我在SL 4中得到了相同的行为。我猜它与列不是UIElement有关,因此由DataGrid本身实例化(而不是在InitializeComponent中发生的常见事情)。

我必须通过DataGrid的Columns属性访问列。在那里,设置可见性有效。