热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

当另一个标签页被禁用时,如何使用XAML触发器来更改TabControl索引?

我所拥有的是WPF应用程序中具有两个选项卡的TabControl。有一个名为Voices

我所拥有的是WPF应用程序中具有两个选项卡的TabControl。有一个名为Voices的集合,您可以在第6行上将其视为Path=GameMaster.Voices.Count。我想要实现的是,当集合为空时,第二个选项卡将禁用,这是我成功完成的。然后,我希望将TabControl的SelectedIndex设置为0。这不仅会禁用第二个选项卡,而且还会迫使用户返回第一个选项卡。使用下面的代码,结果有些起作用,但是,当我将第一个项目添加到集合中时,选项卡索引似乎设置为-1。

以下是应用程序启动时TabControl的屏幕快照,当集合中没有对象时:

当另一个标签页被禁用时,如何使用XAML触发器来更改TabControl索引?

但是,添加项目后,会发生以下情况:

当另一个标签页被禁用时,如何使用XAML触发器来更改TabControl索引?

这是我的XAML代码:









Name="EditTab"
IsEnabled="{Binding Path=GameMaster.Voices.Count,COnverter={StaticResource CountGreaterThanZeroConverter}}">



这是我正在使用的Converter:

internal class CountGreaterThanZeroConverter : IValueConverter
{
public object Convert(object value,Type targetType,object parameter,CultureInfo culture)
{
var count = System.Convert.ToInt32(value);
return count > 0;
}
public object ConvertBack(object value,CultureInfo culture)
{
throw new NotImplementedException();
}
}

我试图了解正在发生的事情,但是我还没有找到合适的解决方案,我们将不胜感激。谢谢。


但是,在这里回答时,我不是100%为何能解决我的问题。因此,如果有人能让我知道到底发生了什么,那对我来说将是一笔巨大的财富!

我添加了以下代码行:






...


推荐阅读
author-avatar
继续不插电的名单
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有