好的,所以我知道有很多这样的问题,但它们似乎都没有帮助我。
所以我有一个属性,我不想用来设置 TabItem 的可见性(所以我对属性的更新不感兴趣)。
问题在于绑定不起作用,我不知道为什么? VS输出没有给我任何线索。
无论如何,这是XAML的代码示例:
<Window x:Class="WpfTestApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<BooleanToVisibilityConverter x:Key="BoolToVis" />
</Window.Resources>
<Grid>
<TabControl>
<TabItem Header="tabItem1" />
<TabItem Header="Hide me!" Visibility="{Binding ShowTab, Converter={StaticResource BoolToVis}}" />
</TabControl>
</Grid>
</Window>
这是.cs
public bool ShowTab { get; set; }
public MainWindow()
{
ShowTab = false;
InitializeComponent();
}
我错过了什么?应该在哪里有某种DataContext连接?或者代码是某种静态资源?为什么我从VisualStudio中得不到任何线索?
答案 0 :(得分:2)
将 DataContext = this; 添加到您的MainWindow构造函数
public MainWindow()
{
InitializeComponent();
DataContext = this;
ShowTab = false;
}
请注意,如果修改ShowTab,您的用户界面将不会收到任何通知。