C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

WPFのコンボボックスがタッチアップに反応しない時がある

[トピック内 1 記事 (1 - 1 表示)]  << 0 >>

■94784 / inTopicNo.1)  WPFのコンボボックスがタッチアップに反応しない時がある
  
□投稿者/ simano (1回)-(2020/05/18(Mon) 18:47:15)

分類:[C#] 

こんにちは。

C# WPF でタッチパネル向けのアプリを作成しています。(.Net Framework4.5, Windows10)

コンボボックスのItemやドロップダウンの高さを、下記のように、タッチしやすいサイズに変更しました。

しかし、何度かコンボボックスのItemをタッチして選択していると、タッチアップに反応しなくなり、
ドロップダウンが開いたままになることがあります(頻度は10回に1回ぐらい)。

MaxDropDownHeightを指定せずに、ドロップダウンをスクロールすると、この現象は発生しなくなるようです。
また、Itemをマウスでクリックすると、発生しません。

原因がわからずに苦慮しております。
原因か、回避方法があれば、ご指摘をお願いできないでしょうか。

-----
        <ComboBox Grid.Column="7" Grid.Row="0" Name="combo" Width="150"  Height="60" MaxDropDownHeight="500" >
            <ComboBox.ItemTemplate>
                <DataTemplate>
                    <Label Width="60" Height="60" Padding="6" Content="{Binding Number}"  />
                </DataTemplate>
            </ComboBox.ItemTemplate>
        </ComboBox>
-----
    public partial class MainWindow : Window
    {
        private List<ComboNumberItem> _lstItem = new List<ComboNumberItem>();

        public MainWindow()
        {
            InitializeComponent();
        }

        private class ComboNumberItem
        {
            private int _num;
            public ComboNumberItem(int num)
            {
                _num = num;
            }

            public int Number { get { return _num; } }
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            combo.ItemsSource = _lstItem;
            for (int i = 0; i < 5; i++)
            {
                _lstItem.Add(new ComboNumberItem(i + 1));
            
            }

            // Items.Refreshを実行しないとドロップダウンの高さが変わらない。
            combo.Items.Refresh();
        }
    }


引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ