当前位置: 首页 > news >正文

东莞市做网站公司千瓜数据

东莞市做网站公司,千瓜数据,专业的建设企业网站,网站注册搜索引擎的目的是文章目录 前言其它项目的UserControl切换TableControl添加按钮,隐去TableItem的Header 结论 前言 我想用WPF简单实现一个按钮视图切换的效果,但是我发现别人的实现效果非常的麻烦。 其它项目的UserControl切换 我网上找了个开源的项目,他是…

文章目录

  • 前言
  • 其它项目的UserControl切换
  • TableControl
    • 添加按钮,隐去TableItem的Header
  • 结论

前言

我想用WPF简单实现一个按钮视图切换的效果,但是我发现别人的实现效果非常的麻烦。

在这里插入图片描述

其它项目的UserControl切换

我网上找了个开源的项目,他是通过实例化加载的方式来实现视图层的切换的。

https://github.com/AFei19911012/HandyControlDemo

在这里插入图片描述

//视图切换触发函数
private void ListBoxDemo_SelectionChanged(object sender, SelectionChangedEventArgs e)
{if (VM.SelectedIndex < 0){return;};//通过清除和重新加载的方式实例化UserControlmainContent.Children.Clear();string name = (ListBoxDemo.SelectedItem as DemoDataModel).Name;//判断是否存在文件if (Helper.AssemblyHelper.CreateInternalInstance($"UserControl.{name}") is System.Windows.Controls.UserControl ctrl){//实例化加载视图,将View和ViewModel统一加载mainContent.Children.Add(ctrl);Edit_Xaml.Load($"../HandyControlDemo/UserControl/{name}.xaml");Edit_XamlCs.Load($"../HandyControlDemo/UserControl/{name}.xaml.cs");string filename = $"../HandyControlDemo/ViewModel/{name}ViewModel.cs";if (File.Exists(filename)){Edit_VM.Load(filename);}}
}

我个人评价是非常的麻烦,而且没有实际的显示代码,你必须跑起来才能知道真正的代码是怎么跑的。我就想了个简单的代码切换

TableControl

我们知道使用TableControl可以快速切换

<TabControl  x:Name="MyTable"><TabItem Header="ViewA"><View:ViewA /></TabItem><TabItem Header="ViewB"><View:ViewB /></TabItem><TabItem Header="ViewC"><View:ViewC /></TabItem>
</TabControl>

在这里插入图片描述

添加按钮,隐去TableItem的Header

WPF TabControl 隐藏标头

xaml

   <Grid><Grid.ColumnDefinitions><ColumnDefinition Width="100" /><ColumnDefinition /></Grid.ColumnDefinitions><StackPanel><!--添加对应View的跳转逻辑--><Button Content="A"Click="Button_Click_1" /><Button Content="B"Click="Button_Click_2" /><Button Content="C"Click="Button_Click_3" /></StackPanel><TabControl Grid.Column="1"x:Name="MyTable"><!--通过设置Collapsed来完全折叠TabItem--><TabItem Visibility="Collapsed"><View:ViewA /></TabItem><TabItem Visibility="Collapsed"><View:ViewB /></TabItem><TabItem Visibility="Collapsed"><View:ViewC /></TabItem></TabControl></Grid>

添加对应的按钮进行切换

     private void Button_Click_1(object sender, RoutedEventArgs e){//动态修改SelectedIndex来设置显示的IndexMyTable.SelectedIndex = 0;}private void Button_Click_2(object sender, RoutedEventArgs e){MyTable.SelectedIndex = 1;}private void Button_Click_3(object sender, RoutedEventArgs e){MyTable.SelectedIndex = 2;}

在这里插入图片描述

结论

重新实例化TableItem
难度难,我目前也不知道怎么实现简单
速度感觉一样快感觉一样快
开销重新实例化开销低,毕竟直接把空间释放了开销应该大一些,但是现在的硬件没这么弱,除非你要上动画,那可能开销大点。而且我觉得也可以通过实例化的方法进行优化
使用重新实例化,每次都要重新进入页面每次切换页面,原来的页面的数据都会保留,其实更符合页面逻辑
http://www.hrbkazy.com/news/11402.html

相关文章:

  • 上海市网站seo网站seo推广平台
  • 公司企业邮箱注册南宁百度seo排名
  • 上海嘉定网站建设dz论坛如何seo
  • 下载 网站样板网站做优化好还是推广好
  • 网站撤销备案微信软文
  • 商城网站代理系统如何做公司网站推广
  • 威客类型的网站深圳网站seo地址
  • 微信公众号优惠劵网站怎么做的论坛推广工具
  • 用织梦做网站能练技术吗湖人最新排名最新排名
  • 哪个网站可以做曝光台seo快排技术教程
  • 网站维护有啥用百度拉新推广平台
  • 手机点了钓鱼网站怎么办沈阳百度seo关键词优化排名
  • 网站如何做品牌宣传在线视频用什么网址
  • 生鲜b2c网站建设规划书在线seo关键词排名优化
  • 中国人做暧暧视频网站怎么申请建立网站
  • 公司做公司网站宣传长尾关键词爱站
  • 做网站平台需要多少钱seo管家
  • 北京中高端网站建设seo优化工程师
  • 个人简历在线制作seo平台怎么样
  • 深圳学校网站定制设计爱站网域名查询
  • 广州品牌网站设计公司排名优化软件点击
  • 胶南网站建设价格百度网盘app手机版
  • 嵌入式软件培训seo基础优化包括哪些内容
  • 网站怎么做外部链接推广文章的注意事项
  • 幻灯片在什么网站做近期发生的重大新闻
  • 网站怎么实现手机号注册会员舆情监控系统
  • 合肥网站开发建设全世界足球排名国家
  • 学校网站建立百度关键词排名联系
  • wordpress题重庆seo排名技术
  • 哪些网站做批发企业品牌推广方案