【问题标题】:Show DevExpress DXTabControl tabs at the bottom in XAML在 XAML 的底部显示 DevExpress DXTabControl 选项卡
【发布时间】:2015-03-17 15:38:49
【问题描述】:

有谁知道如何在 XAML 中使用 DevExpress DXTabControl 并设置它以使选项卡显示在底部?这是我到目前为止所拥有的,但选项卡显示在顶部。 DevExpress 文档没有这方面的示例。 Intellisense 没有给我任何直观的东西。

<dx:DXTabControl>
    <dx:DXTabItem Header="Main">
        <dxdo:DockLayoutManager>
            <dxdo:LayoutGroup>
                <dxdo:LayoutPanel Caption="TaskList">
                    <views:DxTaskList x:Name="Tasklst" />
                </dxdo:LayoutPanel>
                <dxdo:LayoutPanel Caption="TaskDetails">
                    <ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Focusable="False">
                        <StackPanel>
                            <views:TaskDetails x:Name="TaskDtls"/>
                        </StackPanel>
                    </ScrollViewer>
                </dxdo:LayoutPanel>
            </dxdo:LayoutGroup>
        </dxdo:DockLayoutManager>
    </dx:DXTabItem>
</dx:DXTabControl>

【问题讨论】:

  • 我查看了documentation.devexpress.com/#WPF/CustomDocument7975,但找不到该属性
  • 也许我应该提到我不是 XAML 专家,这对我来说并不那么明显。它说位置是由 TabControlViewBase.HeaderLocation 属性指定的,但它是如何转换为 XAML 的?
  • 它们在 html 上很便宜,没有在页面上为类列出所有继承的属性和方法。在阅读其他 devexpress 控件的文档时请记住这一点。至少 MSDN 没有这样做——它们甚至在文档中包含扩展方法。如您所见, Type.Property = > &lt;Type Property="value" /&gt;&lt;Type.Property&gt;&lt;Value /&gt;&lt;/Type.Property&gt; 它是直接映射到类型的格式良好的 xml,因为它直接反序列化到该类型的实例。了解 xaml 是什么,它是如何工作的,将是有益的,并且不会花费很长时间......
  • 如您所见,Will 的答案并不那么明显。所以用FFS和Goddamnit的回应是非常冒犯的。是的,该属性对我来说也很明显,但用法不是,正如我在回答中所证明的那样。
  • HeaderLocation 在页面上。您所要做的就是 ctrl-f,然后搜索,然后单击链接。这并不难。至于不了解如何在 xaml 中设置属性值,那是另一个问题。而且,没那么难。您意识到,当您说“我在这里查看 XYZ 并没有找到解决方案”并且解决方案就在该链接上时,这是一个 wtf 时刻。无论如何,你有你的答案,你知道如何在 xaml 中设置属性值。先生,我祝你有个美好的一天。

标签: xaml devexpress-wpf


【解决方案1】:

对于任何可能对不那么明显的事情感到困惑的人,这里是我正在寻找的 XAML 解决方案。是的,该属性显然被称为 HeaderLocation,但 DevExpress 的文档没有提供任何有关此的 XAML 示例。所以这就是我想出的解决我的问题的方法:

<dx:DXTabControl>
    <dx:DXTabControl.View>
        <dx:TabControlMultiLineView HeaderLocation="Bottom"/>
    </dx:DXTabControl.View>
    <dx:DXTabItem Header="Main">
        <dxdo:DockLayoutManager>
            <dxdo:LayoutGroup>
                <dxdo:LayoutPanel Caption="TaskList">
                    <views:DxTaskList x:Name="Tasklst" />
                </dxdo:LayoutPanel>
                <dxdo:LayoutPanel Caption="TaskDetails">
                    <ScrollViewer VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto" Focusable="False">
                        <StackPanel>
                            <views:TaskDetails x:Name="TaskDtls"/>
                        </StackPanel>
                    </ScrollViewer>
                </dxdo:LayoutPanel>
            </dxdo:LayoutGroup>
        </dxdo:DockLayoutManager>
    </dx:DXTabItem>
</dx:DXTabControl>

如您所见,您应该添加 View 属性,然后为其分配一个值,我使用了 TabControlMultiLineView,并且该对象有一个 HeaderLocation 属性,我将其设置为有效枚举之一。当我这样做时,标签出现在底部。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    • 2022-10-05
    • 2022-12-15
    • 2022-10-24
    • 2019-04-15
    • 1970-01-01
    相关资源
    最近更新 更多