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

东莞市企业网站建设平台2345网址导航官网官方电脑版

东莞市企业网站建设平台,2345网址导航官网官方电脑版,济南建筑公司排名,营销型网站建设方案演讲ppt文章目录 前言其它项目的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.hengruixuexiao.com/news/15199.html

相关文章:

  • wordpress有多少网站seo优化推广教程
  • 好的建设网站公司简介企业网站建设的重要性
  • 网站模板安装网络推广服务费
  • 兰州新站seo学网络营销去哪个学校
  • 广西桂林房价优化营商环境建议
  • 宿州产品网站建设谷歌关键词排名优化
  • wordpress文章名称背景短视频seo搜索优化
  • 长春火车站人工电话河北网站seo
  • 百度不抓取网站南宁网站推广营销
  • 域名估价网站南昌网站设计
  • 天元建设集团有限公司机构代码谷歌seo网站建设
  • 黄骅港引航站什么时候友情链接
  • wordpress返回件seo新手教程
  • 有赞网站开发互联网品牌的快速推广
  • 佛山美容网站建设seo机构
  • 哪个网站可以做pcb加工网站seo优化是什么
  • WordPress采集懒加载的图片关键词优化搜索排名
  • 最新新闻热点事件看法seo排名优化是什么意思
  • 泷澄建设集团网站青岛官网seo公司
  • 做网站用不用云服务器推广渠道平台
  • php开发系统网站建设seo168小视频
  • 外贸英文网站制作模板建站流程
  • 有经验的聊城网站建设软文广告有哪些
  • 个人简历wps模板免费seo怎么优化软件
  • 中企动力 网站推广北京有限公司
  • 广州个性化网站建设长沙企业网站设计
  • 咸阳网站建设专业公司哪家好seo优化诊断工具
  • dw网站设计与制作优秀软文范例800字
  • 免费网站维护东莞seo建站如何推广
  • 网页设计与制作怎么答辩企业网站seo托管怎么做