WPF TabItem.Collapse 的问题
WPF TabItem.Collapse 的问题
运行环境:Window7 64bit,.NetFramework4.61,C# 6.0; 编者:乌龙哈里 2017-02-16
感谢 LICEcap 的作者,弄了个很小巧好用的桌面录制gif软件。
我用了一个 WPF 的 TabControl 的控件,下面弄了两个 TabItem,设想是点击一个按钮后,出现一个,隐藏另外一个,结果发现 TabItem 里面的内容 没有显示。上例子:
xaml:
<Window x:Class="学习WpfTabItem.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Title="MainWindow" Height="200" Width="200" >
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="32"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<ToolBar Grid.Row="0">
<Button Name="btn1" Content="显示1" Click="btn1_Click"/>
<Button Name="btn2" Content="显示2" Click="btn2_Click"/>
</ToolBar>
<TabControl Name="tbl" Grid.Row="1" >
<TabItem Name="tbm1" Header="1" >
<TextBlock Text="1111" Visibility="{Binding Path=Visibility,ElementName=tbm1}"/>
</TabItem>
<TabItem Name="tbm2" Header="2" >
<TextBlock Text="22222" Visibility="{Binding Path=Visibility,ElementName=tbm2}"/>
</TabItem>
</TabControl>
</Grid>
</Window>
后端 c# 代码:
using System.Windows;
namespace 学习WpfTabItem
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void btn1_Click(object sender, RoutedEventArgs e)
{
if (tbm2.Visibility == Visibility.Visible)
{
tbm2.Visibility = Visibility.Collapsed;
}
tbm1.Visibility = Visibility.Visible;
}
private void btn2_Click(object sender, RoutedEventArgs e)
{
if (tbm1.Visibility == Visibility.Visible)
{
tbm1.Visibility = Visibility.Collapsed;
}
tbm2.Visibility = Visibility.Visible;
}
}
}
TabItem 里面两个 TextBlock 的显示属性是我看见不能显示,专门绑定的,去掉绑定,tbm1 的 TextBlock 直接一直显示。看看上面的程序运行结果。
上网查了一下,都没有很好的解决办法,有人更说是 bug。 看来只有走后台手工代码描绘 tabitem 的路了。下来学习这个。
WPF TabItem.Collapse 的问题的更多相关文章
- WPF TabItem设置Visibility隐藏Control内容
源自MSDN问题. 思路很简答: TabControl因为只显示TabItem的选择项的control. 所以单独的设置tabitem的control或者使用control的触发器都是不起作用的. 只 ...
- WPF学习(3)布局
今天我们来说说WPF的布局.我们知道WinForm的布局主要是采用基于坐标的方式,当窗口内容发生变化时,里面的控件不会随之动态调整,这就造成了一个很不好的用户体验.而WPF为了避免这个缺点,采用了基于 ...
- WPF中定义TabItem的可选区域(特别是当使用Label来呈现Header时)
1. 如上图,所示,此时当鼠标移入蓝色框内除文字部分,整个TabItem是没反应的 经过查看代码可以看到: 将图标中的VerticalAlignment="Center"和Hori ...
- WPF Adorner 在TabControl切换TabItem时消失
错误的截图: 一开始以为是MVVM绑定的代码中出现了问题,但是通过断点追踪并没有发现问题. 通过通过VS的实时可视化树发现问题:切换Item时Adorner会在AdornerLayer直接消失.届时怀 ...
- WPF中用后台C#代码为TabItem设置Background属性
TabItem tabItem = sender as TabItem; tabItem.Background = new ImageBrush(new BitmapImage(new Uri(@&q ...
- WPF中Visible设为Collapse时,VisualTreeHelper.GetChildrenCount为0
今天遇到一个奇怪的问题, 在给一个控件内的子元素绑定事件时,失败. 发现原因是,这个控件初始化时Visible="Collapse",这时控件内的可视树就没有生成.导致绑定事件失败 ...
- WPF自定义控件与样式(15)-终结篇 & 系列文章索引 & 源码共享
系列文章目录 WPF自定义控件与样式(1)-矢量字体图标(iconfont) WPF自定义控件与样式(2)-自定义按钮FButton WPF自定义控件与样式(3)-TextBox & Ric ...
- WPF自定义控件与样式(15)-终结篇
原文:WPF自定义控件与样式(15)-终结篇 系列文章目录 WPF自定义控件与样式(1)-矢量字体图标(iconfont) WPF自定义控件与样式(2)-自定义按钮FButton WPF自定义控件与 ...
- 关于WPF你应该知道的2000件事
原文 关于WPF你应该知道的2000件事 以下列出了迄今为止为WPF博客所知的2,000件事所创建的所有帖子. 帖子总数= 1,201 动画 #7 - 基于属性的动画 #686 - 使用动画制作图像脉 ...
随机推荐
- python基础之多线程与多进程(二)
上课笔记整理: 守护线程的作用,起到监听的作用 一个函数连接数据库 一个做守护线程,监听日志 两个线程同时取一个数据 线程---->线程安全---->线程同时进行操作数据. IO操作--- ...
- 剑指offer--26.顺时针打印矩阵
1,2,3,45,6,7,88,10,11,1213,14,15,16 每次输出第一行,然后删除第一行,逆时针旋转剩下的矩阵. ------------------------------------ ...
- Flask 的 请求扩展 与 中间件
Flask 的 请求扩展 与 中间件 flask 可以通过 扩展(装饰器)来实现类似于django 中间件的功能 类似于django 的中间件, 在执行视图函数之前, 之后的执行某些功能 1 @app ...
- json 和 table控件
<!DOCTYPE html><html> <head> <meta http-equiv="Content-Type" content= ...
- Java并发编程之CyclicBarrier
一.场景描述 有四个游戏玩家玩游戏,游戏有三个关卡,每个关卡必须要所有玩家都到达后才能允许通过.其实这个场景里的玩家中如果有玩家A先到了关卡1,他必须等到其他所有玩家都到达关卡1时才能通过,也就是说线 ...
- Delphi XE4 Upate1 更新升级记录.
一直没时间,这两天折腾了一下 升级了. 其实也可能修了老bug 引入新bug. 呵呵. 看看Emb 都修了什么吧. 我干脆是重新安装的. 虽然官方也有一个单独的update.exe. 从这些bu ...
- I.MX6 PHY fixup 调用流程 hacking
/********************************************************************************** * I.MX6 PHY fixu ...
- c++ 基础知识 0001 const 知识1
1. C++ const用法 尽可能使用const 2. C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的.如果在编程中确实有某个值保持不变,就 ...
- UVA11178 Morley's Theorem
题意 PDF 分析 就按题意模拟即可,注意到对称性,只需要知道如何求其中一个. 注意A.B.C按逆时针排列,利用这个性质可以避免旋转时分类讨论. 时间复杂度\(O(T)\) 代码 #include&l ...
- sqlalchemy 学习(二)scoped session
数据库设计的难点之一,是session生命周期的管理问题.sqlalchemy提供了一个简单的session管理机制,即scoped session.它采用的注册模式.所谓的注册模式,简单来说,是指在 ...