質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

1600閲覧

Uno Platformで作成したウェブアプリで、リストの中のコンボボックスがクリックに反応しない

Tanebiko

総合スコア1

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2020/08/27 03:32

前提・実現したいこと

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}

試したこと

  1. ここでは、ListViewのアイテムをStackPanelにしていますが、Gridにしてもダメでした。
  2. DataTemplateでなく、ListView.ItemTemplateでもダメでした。
  3. 上のコードにあるように、PointerPressedイベントを拾って、無理やりドロップダウンを開かせることはできました。

補足情報(FW/ツールのバージョンなど)

VisualStudioVersion: 16.0.30406.217

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ListView.SelectionMode="None"を試してみるのはどうでしょう。

ダメだったらListViewをItemsControlに差し替えてみてください。

参考:リスト項目の入れ子になった UI

問題の原因はたぶんUno.wasmの不具合だと思います。Uno.UWPで実行してみると問題なく選択できるんですよね。

投稿2020/08/27 13:05

tor4kichi

総合スコア769

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Tanebiko

2020/08/28 02:31

tor4kichiさん、的確なアドバイスありがとうございます。 紹介していただいた、両方の方法を試しました。いずれもうまく行きました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問