wpf datagrid bug? when toggle visibility on a column with an image as headercontent

久未见 提交于 2019-12-04 13:53:04


**EDIT: Deleted the previous answer which wasn't relevant**

You will need to put the image in headertemplate of column. working sample code

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="clr-namespace:WpfApplication1"
        Title="MainWindow" Height="350" Width="525">
    <Window.Resources>
        <BitmapImage x:Key="Image_Link" UriSource="test.bmp" />
    </Window.Resources>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="30"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <Button Content="Button" Name="button1" Width="75" Click="button1_Click" />
        <Grid Grid.Row="1">
            <DataGrid Height="200" VerticalAlignment="Top">
                <DataGrid.Columns>
                    <DataGridTextColumn x:Name="firstHeader" IsReadOnly="True">
                        <DataGridTextColumn.HeaderTemplate>
                            <DataTemplate>
                                <Image Source="{StaticResource Image_Link}"  />
                            </DataTemplate>
                        </DataGridTextColumn.HeaderTemplate>
                    </DataGridTextColumn>
                </DataGrid.Columns>
            </DataGrid>
        </Grid>
    </Grid>
</Window>


private void button1_Click(object sender, RoutedEventArgs e)
{
        firstHeader.Visibility = firstHeader.Visibility == Visibility.Visible ? Visibility.Collapsed : Visibility.Visible;
}

I'm not sure what's causing this, but you could try to explicitly create the Image control to display the image:

<DataGridTextColumn IsReadOnly="True">
    <DataGridTextColumn.Header>
        <Image Source="{StaticResource Image_Link}" />
    </DataGridTextColumn.Header>
</DataGridTextColumn>
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!