绑定到代码中的属性

时间:2012-10-18 10:37:44

标签: c# wpf binding

好的,所以我知道有很多这样的问题,但它们似乎都没有帮助我。

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

1 个答案:

答案 0 :(得分:2)

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

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

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