2010-03-10 2 views
0

작은 문제가 있습니다. 내가 붕괴로 "ResendColumn"의 가시성을 설정하면Silverlight Gridcolumn 코드의 가시성 축소

<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.Visibility = Visibility.Collapsed; 

을 그리고 그것은 나에게 nullref 예외 제공 :로 설정되어 있지

Object 참조 개체의 인스턴스입니다.

왜 그런지 모르겠습니까?

답변

0

SL 4에서 동일한 동작이 발생합니다. UIElement가 아닌 열과 관련되어 있으므로 DataGrid 자체 (InitializeComponent에서 일반적으로 발생하는 내용이 아닌)에 의해 인스턴스화 된 것 같습니다.

DataGrid의 Columns 속성을 통해 열을 액세스해야했습니다. 그리고 거기에 시야를 설정합니다.

관련 문제