1

好的,所以我知道有很多这样的问题,但似乎没有一个对我有帮助。

所以我有一个属性,我不想用来设置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 得到任何线索?

4

1 回答 1

2

添加DataContext = this; 到您的 MainWindow 构造函数

    public MainWindow()
    {
        InitializeComponent();
        DataContext = this;
        ShowTab = false;
    }

请注意,如果您修改 ShowTab,您的 UI 将不会收到任何通知。

于 2012-10-18T10:40:30.660 回答