前提・実現したいこと
Uno Platform(C#)を使用してWebアプリを作成しています。
ListViewの中にComboboxを入れたいのですが、
ブラウザ上ではリスト内のコンボボックスをクリックしてもドロップダウンしません。
右クリックすると開くのですが、左クリックで反応してほしいのです。
このような現象の原因に心当たりがありますか?
発生している問題・エラーメッセージ
ListView内のコンボボックスがブラウザ上でクリックに反応しない。
該当のソースコード
MainPage.xml
MainPage.xml
1<Page> 2省略 3 <Page.Resources> 4 <!-- アイテムテンプレート --> 5 <DataTemplate x:Key="UserTemplate" x:DataType="model:User"> 6 <StackPanel Orientation="Horizontal" Spacing="20"> 7 <TextBox Text="{x:Bind Path=UserName}" Width="100"/> 8 <ComboBox ItemsSource="{Binding Path=UserPositions}" PointerPressed="Combobox_Clicked" SelectedIndex="{x:Bind Path=PositionID, Mode=TwoWay}" Width="100"> 9 <ComboBox.ItemTemplate> 10 <DataTemplate x:DataType="model:Position"> 11 <TextBlock Text="{x:Bind PositionName, Mode=OneWay}"/> 12 </DataTemplate> 13 </ComboBox.ItemTemplate> 14 </ComboBox> 15 </StackPanel> 16 </DataTemplate> 17 </Page.Resources> 18 19 <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 20 <!-- リスト --> 21 <ListView Grid.Row="1" Background="AliceBlue" x:Name="ListView" ItemsSource="{Binding Path=Users}" ItemTemplate="{StaticResource UserTemplate}"/> 22 </Grid> 23</Page>
MainPage.xaml.cs
MainPage.xaml.cs
1public sealed partial class MainPage : Page 2{ 3 { 4 public MainPage() 5 { 6 this.InitializeComponent(); 7 DataContext = new ViewModel(); 8 } 9 10 private void Combobox_Clicked(object sender, RoutedEventArgs e) 11 { 12 var combobox = sender as ComboBox; 13 combobox.IsDropDownOpen = true; 14 } 15 } 16}
試したこと
- ここでは、ListViewのアイテムをStackPanelにしていますが、Gridにしてもダメでした。
- DataTemplateでなく、ListView.ItemTemplateでもダメでした。
- 上のコードにあるように、PointerPressedイベントを拾って、無理やりドロップダウンを開かせることはできました。
補足情報(FW/ツールのバージョンなど)
VisualStudioVersion: 16.0.30406.217
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/28 02:31