2010-03-10 71 views
0

我遇到了一個小問題。Silverlight Gridcolumn Collapse代碼中的可見性

我有這樣的網格列:

<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例外:

對象引用不設置到 對象的實例。

我不明白爲什麼?

回答

0

我在SL 4中得到了相同的行爲。我想它與列不是一個UIElement,因此由DataGrid本身實例化(而不是通常在InitializeComponent中發生的事情)。我不得不通過DataGrid的Columns屬性訪問列。在那裏,設置可見性的作品。

相關問題