2010-11-23 4 views
0

Silverlight 4でドロップダウンリストのスタイルを設定しようとしました - すべてのビジュアルスタイルの変更を成功させました。私が困惑している部分は、ドロップダウンの右端がコントロールの右端に揃うように、コントロールのドロップダウン(ポップアップ)部分を揃えようとしています。デフォルトでは、左端がコントロールの左端に揃えられます。スタイリングSilverlight Dropdown/Combobox

どのような考えですか?これはやりにくいのですか、何か不足していますか?

おかげ マイケル

答えて

1

は、残念ながら、それはあなたが簡単に(あなたのコントロールが固定サイズであり、あなたがテンプレートにポップアップオフセットをハードコーディング気にしない限り)テンプレート化により行うことができるものではありません。

しかしその複雑ではありません一つの解決策があります:コード内

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

、その後:あなたが何ができるか

private void Popup_Loaded(object sender, RoutedEventArgs e) 
{ 
    Popup myPopup = sender as Popup; 

    if (myPopup != null) 
    { 
     myPopup.VerticalAlignment = VerticalAlignment.Bottom; 
     myPopup.HorizontalAlignment = HorizontalAlignment.Right; 
    } 
} 
0

は、コンボボックスのデフォルトのテンプレートを生成するためのMS Expression Blendのを使用しているが、 。テンプレートではあなたはそれがrightToLeftのに流れ方向属性の変更、ポップアップという名前のポップアップを見つけるでしょう...

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

注ポップアップ内部ScrollViewerのオブジェクトは、流れ方向はそうあなたが明示的にLeftToRightにその流れ方向を設定する必要が設​​定され継承されます。 ..

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

...そうでない場合は、RightToLeftから塗りつぶして、スクロールバーが左側になります。

関連する問題