Visibility有三种用法,
第一个:Visible 元素在窗体中正常显示
第二个:Collaspsed 元素不显示,也不占用空间
第三个:Hidden 元素不显示,但是任然为它保留空间
我用Visibility=“Hidden”来隐藏我的页面
页面在DataGrid中用Visibility=“Hidden”
XAML代码:
<Grid HorizontalAlignment="Center" VerticalAlignment="Center" Height="200" Width="200" Grid.ColumnSpan="8" Grid.RowSpan="6">
<DataGrid x:Name="DG_SP" IsReadOnly="True" AutoGenerateColumns="False" CanUserResizeColumns="False" CanUserResizeRows="False" SelectionMode="Single" CanUserReorderColumns="False" AlternationCount="2" RowHeaderWidth="0" CanUserAddRows="False" VerticalAlignment="Top" Visibility="Hidden" SelectedCellsChanged="DG_SP_SelectedCellsChanged">
<DataGrid.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<LinearGradientBrush.GradientStops>
<GradientStop Color="#FFE6F2F7" Offset="0"/>
<GradientStop Color="White" Offset="0.1"/>
<GradientStop Color="White" Offset="0.4"/>
<GradientStop Color="#FFE6F2F7" Offset="0.81"/>
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</DataGrid.Background>
<DataGrid.Columns >
<DataGridTextColumn Header="行号" Binding="{Binding number}" Width="80" />
<DataGridTextColumn Header="编码" Visibility="Collapsed" Binding="{Binding CommodityInforID}" Width="10"/>
<DataGridTextColumn Header="商品条码" Binding="{Binding CommodityCode}" Width="120" />
<!--<DataGridTextColumn Header="打开" Visibility="Collapsed" Binding="{Binding as_passenger_type_id}" Width="10" />-->
<DataGridTextColumn Header="店内码" Binding="{Binding SecondCode}" Width="70" />
<DataGridTextColumn Header="商品名称" Binding="{Binding CommodityName}" Width="80" />
<DataGridTextColumn Header="数量" Binding="{Binding ss}" Width="70" />
<DataGridTextColumn Header="金额" Binding="{Binding ee}" Width="70" />
</DataGrid.Columns>
</DataGrid>
</Grid>
按钮调用代码:
private void BTT_SP_Click(object sender, RoutedEventArgs e)
{
DG_SP.Visibility = Visibility.Visible;//显示页面
DataTable mm = myFrm_MerchandiseInventoryClient.Frm_CommodityInventoryEnquiry().Tables[0];
DG_SP.ItemsSource = mm.DefaultView;
}
功能页面: