Silverlight样式下拉列表/组合框

Silverlight样式下拉列表/组合框,silverlight,Silverlight,尝试在Silverlight 4中设置下拉列表的样式-我已经成功地更改了所有的视觉样式。让我感到困惑的是,我正试图对齐控件的下拉(弹出)部分,以便下拉列表的右边缘与控件的右边缘对齐。默认情况下,左边缘与控件的左边缘对齐 有什么想法/例子吗?这很难做到还是我遗漏了什么 谢谢 Michael不幸的是,这不是通过模板轻松实现的(除非控件大小固定,并且您不介意在模板中硬编码弹出偏移) 但有一个解决方案并不那么复杂: <Popup x:Name="Popup" Loaded="Popup_Loade

尝试在Silverlight 4中设置下拉列表的样式-我已经成功地更改了所有的视觉样式。让我感到困惑的是,我正试图对齐控件的下拉(弹出)部分,以便下拉列表的右边缘与控件的右边缘对齐。默认情况下,左边缘与控件的左边缘对齐

有什么想法/例子吗?这很难做到还是我遗漏了什么

谢谢
Michael

不幸的是,这不是通过模板轻松实现的(除非控件大小固定,并且您不介意在模板中硬编码弹出偏移)

但有一个解决方案并不那么复杂:

<Popup x:Name="Popup" Loaded="Popup_Loaded">

您可以使用MS Expression Blend为组合框生成默认模板。在模板中,你会发现一个名为Popup的弹出窗口,将其FlowDirection属性更改为RightToLeft

<Popup x:Name="Popup" FlowDirection="RightToLeft">

注意,弹出窗口中的ScrollViewer对象将继承FlowDirection设置,因此您必须将其FlowDirection显式设置为LeftToRight

<ScrollViewer x:Name="ScrollViewer" BorderThickness="0" Padding="1" FlowDirection="LeftToRight">

…否则它将从右侧填充到左侧,滚动条将位于左侧

<ScrollViewer x:Name="ScrollViewer" BorderThickness="0" Padding="1" FlowDirection="LeftToRight">