私は普遍的なアプリケーションにComboBoxを持っています。 ComboBoxのドロップダウンリストの位置を変更するにはUWP
?UWP内のComboBoxのドロップダウンリスト
1
A
答えて
0
ComboBox
のドロップダウンは実際にはPopup
であり、このPopup
を表示する位置はコードの背後に定義されており、アクセスできません。 1つの回避策は、このPopup
を見つけて開いたときに再配置しますが、この方法を使用すると、開かれる度にVerticalOffset
プロパティを計算する必要があり、異なる値のシナリオが非常に多いVerticalOffset
です。
<Button x:Name="rootButton" BorderBrush="Gray" BorderThickness="2" Click="Button_Click" MinWidth="80" Background="Transparent" Padding="0">
<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch"
Width="{Binding ElementName=rootButton, Path=ActualWidth}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="32" />
</Grid.ColumnDefinitions>
<TextBlock Text="{x:Bind selectedItem, Mode=OneWay}" Grid.Column="0" VerticalAlignment="Center" FontSize="15" HorizontalAlignment="Center" />
<FontIcon Grid.Column="1" FontSize="12" FontFamily="Segoe MDL2 Assets" Glyph="" HorizontalAlignment="Right"
Margin="0,10,10,10" VerticalAlignment="Center" />
</Grid>
<FlyoutBase.AttachedFlyout>
<MenuFlyout Placement="Bottom" x:Name="menuFlyout">
<MenuFlyoutItem Text="Item 1" Click="MenuFlyoutItem_Click" />
<MenuFlyoutItem Text="Item 2" Click="MenuFlyoutItem_Click" />
<MenuFlyoutItem Text="Item 3" Click="MenuFlyoutItem_Click" />
<MenuFlyoutItem Text="Item 4" Click="MenuFlyoutItem_Click" />
<MenuFlyoutItem Text="Item 5" Click="MenuFlyoutItem_Click" />
</MenuFlyout>
</FlyoutBase.AttachedFlyout>
</Button>
このUserControl
で背後にあるコード:
public sealed partial class CustomComboBox : UserControl, INotifyPropertyChanged
{
public CustomComboBox()
{
this.InitializeComponent();
selectedItem = "";
}
private string _selectedItem;
public string selectedItem
{
get { return _selectedItem; }
set
{
_selectedItem = value;
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs("selectedItem"));
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void MenuFlyoutItem_Click(object sender, RoutedEventArgs e)
{
var item = sender as MenuFlyoutItem;
selectedItem = item.Text;
}
private void Button_Click(object sender, RoutedEventArgs e)
{
FlyoutBase.ShowAttachedFlyout(sender as Button);
}
}
そして
だから私の提案は、例えば、私はこのようなUserControl
を作成ComboBox
ような行動、カスタムコントロールを設計しています他のページにこのようなCustomComboBox
を使用することができます:
<local:CustomComboBox VerticalAlignment="Center" HorizontalAlignment="Center" />
このCustomComboBox
のデフォルトでは、DropDown
を保持するための十分なスペースがない限り、そのDropDown
のリストが表示されます。この場合、DropDown
はこのCustomComboBox
の上に表示されます。
関連する問題
- 1. Comboboxドロップダウンリスト
- 2. UWP ComboBoxのSelectedValueのは
- 3. ItemTemplate内でUWP MVVM ComboBoxをコーディングする方法は?
- 4. ComboBox内のDataGrid
- 5. Extjsグリッド内のComboBox
- 6. JTextField内のドロップダウンリスト
- 7. ComboBoxドロップダウンリストの位置をプログラムで設定できますか?
- 8. ComboBox内の列挙値
- 9. DataContext ComboBox ListBox内でのバインド
- 10. HHTMLテーブル内のドロップダウンリスト
- 11. UWPのComboBoxでアイテムを選択できません
- 12. UWP - xamlページの属性を保存する(Slider/Combobox)
- 13. UWPオーバーフローボタンの内部
- 14. UWP内のAdaptive AutoSuggBox
- 15. UWP内のリソースファイル(.resw)
- 16. ASPのドロップダウンリスト内の文の
- 17. ComboBoxから切り離されたドロップダウンリスト - Excel VBA
- 18. UWP - ドロップダウンリストでBluetoothデバイスのリストを取得する
- 19. ドロップダウンリスト内のユニークなアイテム
- 20. リストビューのアイテム内のUWPボタン
- 21. ComboBoxのSelectionChangeでRowDetailsTemplate内のアクセス制御
- 22. WpfのComboboxアイテム内のSelectAllチェックボックス
- 23. ItemSource DataGrid内のComboBoxでのバインド
- 24. UWP Combobox SelectedItemはバインドされた値を無視します
- 25. UWP内のStrech ListBoxとListBoxItems
- 26. ComboBoxテンプレート内のポップアップ座標は?
- 27. UWP - uwp内の特定のピクセルのアルファを変更する
- 28. ItemSourceがLINQのときにUWPがComboBoxのSelectedItemを設定する
- 29. UWPアプリケーションのComboBoxアイテムリストの上下に余白を設定する方法
- 30. ComboBoxを選択するComboBoxを取得するアイテム番号ComboBox内のアイテムの数を基準にして