【问题标题】:wpf: How to get rounded corners on ItemsPresenterwpf:如何在 ItemsPresenter 上获得圆角
【发布时间】:2020-06-03 10:53:37
【问题描述】:

我有一些标记(来自 Telerik 控制模板)。在该标记中有一个 ItemPresenter 元素。我希望它(或者更确切地说,它的内容)有圆角。

通过一个按钮,你可以摆脱这个获得圆角

<Button Content="Search" >
      <Button.Resources>
          <Style TargetType="Border">
              <Setter Property="CornerRadius" Value="3"/>
          </Style>
      </Button.Resources>
  </Button>

但这不适用于 ItemPresenter。我怎样才能做到这一点?

【问题讨论】:

  • 您不能直接这样做,因为 ItemsPresenter 不是框架元素,因此没有模板。它仅在其他模板中用于表示“将您的内容放在这里”。为此,您必须对 ItemsPresenter 所在的任何控件进行模板化。如果您 extract that template 并在此处发布,那么我们应该能够为您提供帮助。
  • 您要自定义什么控件?
  • @Mark:这就是我害怕的东西,它是一个telerik控件。我还没有找到它的内容_(还),我会看看
  • @mm8: 来自 Telerik 的 RadTabbedWindow,我希望标签在顶角是圆角的(例如在 Chrome 中)
  • 您应该仍然可以提取模板,请查看this article on the Tekerik site

标签: wpf xaml telerik


【解决方案1】:

如果要设置RadTabbedWindow 标题中的选项卡样式,则应定义自定义RadTabItem 样式,将RadTabbedWindowItemContainerStyle 属性设置为,例如:

<telerik:RadTabbedWindow ...>
    <telerik:RadTabbedWindow.ItemContainerStyle>
        <Style TargetType="telerik:RadTabItem" BasedOn="{StaticResource RadTabbedWindowTabItemStyle}">
            <Setter Property="MinHeight" Value="40" />
            <Setter Property="Background" Value="Red" />
            <Setter Property="FontWeight" Value="Bold" />
            <Setter Property="PinButtonVisibility" Value="Visible" />
            <Setter Property="CloseButtonVisibility" Value="Visible"/>
        </Style>
    </telerik:RadTabbedWindow.ItemContainerStyle>
    ...

</telerik:RadTabbedWindow>

如果您想编辑ControlTemplate,您很可能会这样做以获得圆角,您应该能够在 Visual Studio 或 Blend 中的设计模式下右键单击控件,然后选择 Edit Additional Templates- >编辑生成的项目容器 (ItemContainerStyle) 以将默认模板复制到 XAML 标记中。然后,您可以根据自己的要求对其进行编辑,例如设置 Border 元素的 CornerRadius 属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-06
    • 2018-11-27
    • 1970-01-01
    • 2018-12-18
    • 2016-12-05
    • 1970-01-01
    • 2015-03-20
    • 1970-01-01
    相关资源
    最近更新 更多