WPF多窗口切换问题 我现在用WPF实现多个窗口切换,因为每个窗口的背景都是图片,所以感觉切换起来速度有点慢?有什么好的办法吗?因为程序本身有很多界面,需要切换~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 对不起,没说清楚,是用Window1 myWindows1 = new Window1(); myWindows1.Show(); this.Close();这种方式切换的 你的方法是重新打开新的窗体,是可能慢,可考虑用Tabcontrol在一个窗体中切换界面。 谢谢楼上兄弟的建议,可是用tabcontrol的话要隐藏tab header,我试了下,不能完全隐藏,800*600的窗口tabcontrol也是800×600,隐藏tab header后,tabitem里的背景图片不能充满800×600,上面总有一个白条,不知道如何解决~ <TabItem Header="初始设置" Name="tabItem1"> <Viewbox Height="auto" Name="viewbox1" Width="auto"> <Grid Height="Auto" Name="grid" Width="Auto"> </Grid> </Viewbox> </TabItem>用上面的viewbox控件可以充满,tabitem里的一个白条,可以将最后下一个tabItem的名称,如上面的="初始设置",里面加空格,最后和窗体一样宽。如下<TabItem Header=" 初始设置 " Name="tabItem1"> <TabItem Header=" 00000初始设置000000 " Name="tabItem1">你将上面的0替换为空格,因这论坛里显示不了空格。 考虑用prism吧 感觉应该挺适合多窗口解决方案的 再次谢谢兄弟的详细回复,我试了一下,可是上面还是有有白条,不能完全填充,下面是XAML代码<Grid x:Name="LayoutRoot"> <Grid.ColumnDefinitions> <ColumnDefinition Width="0*"/> <ColumnDefinition/> </Grid.ColumnDefinitions> <TabControl Grid.Column="1" HorizontalAlignment="Left" Width="800" BorderThickness="0"> <TabItem x:Name="Home" Header="TabItem" Visibility="Collapsed"> <Viewbox Height="auto" Name="viewbox1" Width="auto"> <Grid Height="Auto" Name="grid" Width="Auto"> </Grid> </Viewbox> </TabItem> <TabItem x:Name="JobSelection" Header=" TabItem " Visibility="Collapsed"> <Grid Background="#FFE5E5E5"/> </TabItem> </TabControl> </Grid> 我把两个header的名字前后都加上空格也是一样呀~ 下啊是所有的设置<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="testWpfTab.MainWindow" x:Name="Window" Title="MainWindow" Width="800" Height="600" WindowStartupLocation="CenterScreen" Background="{x:Null}" AllowsTransparency="True" WindowStyle="None"> <Grid x:Name="LayoutRoot"> <Grid.ColumnDefinitions> <ColumnDefinition Width="0*"/> <ColumnDefinition/> </Grid.ColumnDefinitions> <TabControl Grid.Column="1" HorizontalAlignment="Left" Width="800" BorderThickness="0"> <TabItem x:Name="Home" Header="TabItem" Visibility="Collapsed"> <Viewbox Height="auto" Name="viewbox1" Width="auto"> <Grid Height="Auto" Name="grid" Width="Auto"> </Grid> </Viewbox> </TabItem> <TabItem x:Name="JobSelection" Header=" TabItem " Visibility="Collapsed"> <Grid Background="#FFE5E5E5"/> </TabItem> </TabControl> </Grid></Window> Wpf 或 Silverlight 中 RichTextBox 实现文本竖排 sqlhelper 释放资源的问题(调用存储过程) C#中的mapobject问题 一个奇怪的问题?? 如何使用.net安装数字证书 怎么添加.dll文件啊? 如何设置Page.MaintainScrollPositionOnPostBack 用ASP.NET C#将Excel导入SQL中,复杂表格怎么导入? 将ADO中的数据转换为XML格式的记录集,怎么搞? 报表视图绑定的强类型报表组件为何不能显示值,帮帮我呀 怎么制作在线安装包? 是C#的BUG,还是我蠢?明明一样却不相等,这是为什么?
myWindows1.Show();
this.Close();
这种方式切换的
<Viewbox Height="auto" Name="viewbox1" Width="auto">
<Grid Height="Auto" Name="grid" Width="Auto">
</Grid>
</Viewbox>
</TabItem>
用上面的viewbox控件可以充满,tabitem里的一个白条,可以将最后下一个tabItem的名称,如上面的="初始设置",里面加空格,最后和窗体一样宽。如下
<TabItem Header=" 初始设置 " Name="tabItem1">
你将上面的0替换为空格,因这论坛里显示不了空格。
<Grid x:Name="LayoutRoot">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0*"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TabControl Grid.Column="1" HorizontalAlignment="Left" Width="800" BorderThickness="0">
<TabItem x:Name="Home" Header="TabItem" Visibility="Collapsed">
<Viewbox Height="auto" Name="viewbox1" Width="auto">
<Grid Height="Auto" Name="grid" Width="Auto">
</Grid>
</Viewbox>
</TabItem>
<TabItem x:Name="JobSelection" Header=" TabItem " Visibility="Collapsed">
<Grid Background="#FFE5E5E5"/>
</TabItem>
</TabControl>
</Grid>
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="testWpfTab.MainWindow"
x:Name="Window"
Title="MainWindow"
Width="800" Height="600" WindowStartupLocation="CenterScreen" Background="{x:Null}" AllowsTransparency="True" WindowStyle="None"> <Grid x:Name="LayoutRoot">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0*"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TabControl Grid.Column="1" HorizontalAlignment="Left" Width="800" BorderThickness="0">
<TabItem x:Name="Home" Header="TabItem" Visibility="Collapsed">
<Viewbox Height="auto" Name="viewbox1" Width="auto">
<Grid Height="Auto" Name="grid" Width="Auto">
</Grid>
</Viewbox>
</TabItem>
<TabItem x:Name="JobSelection" Header=" TabItem " Visibility="Collapsed">
<Grid Background="#FFE5E5E5"/>
</TabItem>
</TabControl>
</Grid>
</Window>