我遇到了一个小问题。
我的这个网格有一列:
<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 :(得分:0)
我在SL 4中得到了相同的行为。我猜它与列不是UIElement有关,因此由DataGrid本身实例化(而不是在InitializeComponent中发生的常见事情)。
我必须通过DataGrid的Columns属性访问列。在那里,设置可见性有效。