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 に答える