为ItemTemplate设置特定高度

时间:2016-10-08 14:34:38

标签: c# wpf xaml mahapps.metro

我想为DropDownButton ItemTemplate设置一个特定的高度,特别是DropDown按钮里面有很多元素,实际显示的列表太长,如下图所示,结构如下:

<Controls:DropDownButton Content="Nazioni" Width="120" Margin="0, 0, 20, 0" 
                         ItemsSource="{Binding Countries}"
                         ItemTemplate="{StaticResource CombinedTemplate}"/>

enter image description here

是否可以设定特定的高度?

1 个答案:

答案 0 :(得分:1)

如果要设置使用提供的ItemTemplate显示项目的元素的高度(此元素通常称为 项容器 ),您应该使用ItemContainerStyle属性(继承自ItemsControl):

<Controls:DropDownButton (...)>
    <Controls:DropDownButton.ItemContainerStyle>
        <Style TargetType="MenuItem">
            <Setter Property="Height" Value="..." />
        </Style>
    </Controls.DropDownButton.ItemContainerStyle>
</Controls.DropDownButton>

修改

如果您想限制下拉列表的高度,那么可以使用DropDownButton.MenuStyle属性:

<Controls:DropDownButton (...)>
    <Controls:DropDownButton.MenuStyle>
        <Style TargetType="ContextMenu" BasedOn="{StaticResource {x:Type ContextMenu}}">
            <Setter Property="MaxHeight" Value="..." />
        </Style>
    </Controls.DropDownButton.MenuStyle>
</Controls.DropDownButton>