Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
几个AvalonDock造型问题(WPF)_Wpf_Templates_Styles_Avalondock - Fatal编程技术网

几个AvalonDock造型问题(WPF)

几个AvalonDock造型问题(WPF),wpf,templates,styles,avalondock,Wpf,Templates,Styles,Avalondock,我正在尝试在我的应用程序中实现AvalonDock,但是我在理解一些样式化技术方面遇到了困难。如果有人能帮我回答以下几个问题,我将不胜感激: 1) 有没有办法从文档窗格中删除主“关闭”按钮,而将单个按钮放在选项卡上 2) 我的应用程序中有自定义样式的按钮,它们放在DockableContent元素中。只要DockableContent处于停靠状态,按钮就会使用我的自定义模板,但如果将包含DockableContent的DockablePane拉出并使其浮动,则按钮将丢失其模板。有什么诀窍可以让它

我正在尝试在我的应用程序中实现AvalonDock,但是我在理解一些样式化技术方面遇到了困难。如果有人能帮我回答以下几个问题,我将不胜感激:

1) 有没有办法从文档窗格中删除主“关闭”按钮,而将单个按钮放在选项卡上

2) 我的应用程序中有自定义样式的按钮,它们放在DockableContent元素中。只要DockableContent处于停靠状态,按钮就会使用我的自定义模板,但如果将包含DockableContent的DockablePane拉出并使其浮动,则按钮将丢失其模板。有什么诀窍可以让它保持住吗

提前感谢您的帮助

关于#2,这似乎是阿瓦隆托克的一个问题。我有一个TabControl,当其可固定内容浮动时,它会失去样式。固定后,样式将恢复

解决方法是重置StateChanged事件的样式

private void OnDockableContentStateChanged (object sender, RoutedEventArgs e)
{
    if (uxDockableContent.State == DockableContentState.DockableWindow)
    {
        foreach (TabItem tabItem in uxTabControl.Items)
        {
            tabItem.Style = FindResource ("TabItemStyle") as Style;
        }
    }
}

通过下载源代码、进行更改并重新编译DLL,我很幸运地解决了这个问题。

我注意到,如果您为元素本身设置样式,一切都很好。只有当您在Window.Resources中设置bug的样式,然后在元素本身上引用它时,才会出现bug。