大神请进!回答就给分,在TabControl中始终显示一个第一个加载的tabitem的InkCanvas ,切换选项卡无效

qq_29414595 2017-09-07 01:50:34
在项目中出现的问题,我单独写了个demo,发现是它的原因,代码如下,求解!!!

测试代码:
xaml:

code:

问题(在TabControl中始终显示一个第一个tabitem加载的InkCanvas ,切换选项卡无效):

在线求解,欢迎讨论,可加分
谢谢!谢谢!!谢谢!!!
...全文
255 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_29414595 2017-09-07
  • 打赏
  • 举报
回复
引用 8 楼 duanzi_peng 的回复:
首先要搞清楚itemTemplate与ContentTemplate的区别。 tabcontrol 是条目控件,每一项的内容显示应该设置到ItemTemplate里,而不是tabControl的ContentTemplate里。
试了一下,和大神说的一样,非常感谢
exception92 2017-09-07
  • 打赏
  • 举报
回复
首先要搞清楚itemTemplate与ContentTemplate的区别。 tabcontrol 是条目控件,每一项的内容显示应该设置到ItemTemplate里,而不是tabControl的ContentTemplate里。
qq_29414595 2017-09-07
  • 打赏
  • 举报
回复
引用 6 楼 qq_29414595 的回复:
[quote=引用 5 楼 Libby1984 的回复:]
InkCanvasSet = new Observablecollection<TabItem>();

private void add()
{
TabItem item = new TabItem();
item.Content = new InkCanvas();
InkCanvasSet.Add(item);
}

哥哥里面的InkCanvas控件没法使用了
[/quote]
qq_29414595 2017-09-07
  • 打赏
  • 举报
回复
引用 5 楼 Libby1984 的回复:
InkCanvasSet = new Observablecollection<TabItem>();

private void add()
{
TabItem item = new TabItem();
item.Content = new InkCanvas();
InkCanvasSet.Add(item);
}

哥哥里面的InkCanvas控件没法使用了
  • 打赏
  • 举报
回复
InkCanvasSet = new Observablecollection<TabItem>(); private void add() { TabItem item = new TabItem(); item.Content = new InkCanvas(); InkCanvasSet.Add(item); }
qq_29414595 2017-09-07
  • 打赏
  • 举报
回复
引用 3 楼 Libby1984 的回复:
将和ItemSource绑定的类型改为TabItem,每个TabItem里面包含一个InkCanvas,而不是直接将InkCanvas作为TabControl的内容。TabControl的每一页显示的内容最好用TabItem包含。
怎么将ItemSource绑定的类型改为TabItem 刚接触wpf不久有笨
  • 打赏
  • 举报
回复
将和ItemSource绑定的类型改为TabItem,每个TabItem里面包含一个InkCanvas,而不是直接将InkCanvas作为TabControl的内容。TabControl的每一页显示的内容最好用TabItem包含。
qq_29414595 2017-09-07
  • 打赏
  • 举报
回复
有人吗
qq_29414595 2017-09-07
  • 打赏
  • 举报
回复
有人吗

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧