0
私はWPFで、ToolBar.Headerプロパティは何もしない二つの異なる本で読んだことがある:WPFでは、どうやってToolBar.Headerを消滅させることができますか?
- のWindows Presentation Foundationのアダムネイサン、PGによって解き放た。 119
- Pro WPF with VB 2008, pg. 650
しかし、私は(tbtToolBarが実際にXAMLで定義されたToolBarTrayあり、VMは、ウィンドウのViewModelにある)私のツールバーには、次のように動的にオブジェクトを作成しています:
foreach (IToolBarViewModel toolBarViewModel in vm.ToolBars)
{
ToolBar toolBar = new ToolBar();
toolBar.DataContext = toolBarViewModel;
// Bind the Header Property
Binding headerBinding = new Binding("Header");
toolBar.SetBinding(ToolBar.HeaderProperty, headerBinding);
// Bind the Items Property
Binding itemsBinding = new Binding("Items");
toolBar.SetBinding(ToolBar.ItemsSourceProperty, itemsBinding);
tbtToolBar.ToolBars.Add(toolBar);
}
そして、ヘッダープロパティは、ツールバーの最初の項目としてラベルに明示的に表示されます。これは私が望む行動ではありません。書籍の説明と同じように、ToolBarTrayを右クリックすると、ToolBarsのドロップダウンリストのタイトルとしてHeaderを使用したいと思います。
toolBar.HeaderTemplate = new DataTemplate();
これは動作しますが、今のツールバーにある小さな見苦しいギャップがあります:
だから、私は設定して、ヘッダーを取り除くことを試みました。
- ギャップなしでヘッダーを見えなくする方法はありますか?
- なぜ書籍は明らかに間違っていますか?当時と今の間に何か変わりましたか?