0

フィールドの 1 つで XamComboBox をホストしている XamDataGrid に問題があります。ユーザーがマウスを使用してコンボ ボックスの列にフォーカスを置き、キーボードの文字を使用して項目を選択し、Tab キーを押して次の列に移動すると、コンボでの選択が失われます。

これがコントロールのバグなのか、それとも私が使っている方法なのかはわかりません.CellDeactivatingイベントを使用して問題を回避しようとしましたが、その時点で値はすでに失われていると思います. . コントロールのバージョン 11.2.20112.2316 を使用しています。これをInfragistics フォーラムにも投稿しました。

この少しの XAML とコード ビハインドは、問題を示しています。

<Window x:Class="DataGridTest.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:ig="http://infragistics.com/DataPresenter"
        xmlns:igEditors="http://infragistics.com/Editors"
        Title="MainWindow" Height="350" Width="525">
    <ig:XamDataGrid DataSource="{Binding MyData}" >
        <ig:XamDataGrid.FieldLayoutSettings>
            <ig:FieldLayoutSettings AllowAddNew="True" AutoGenerateFields="False" />
        </ig:XamDataGrid.FieldLayoutSettings>
        <ig:XamDataGrid.FieldLayouts>
            <ig:FieldLayout>
                <ig:Field Name="Code">
                    <ig:Field.Settings>
                        <ig:FieldSettings EditorType="{x:Type igEditors:XamComboEditor}">
                            <ig:FieldSettings.EditorStyle>
                                <Style TargetType="{x:Type igEditors:XamComboEditor}">
                                    <Setter Property="ValuePath" Value="Code" />
                                    <Setter Property="DisplayMemberPath" Value="Description"/>
                                    <Setter Property="ItemsSource" Value="{Binding RelativeSource={RelativeSource AncestorType=Window}, Path=MyData2}" />
                                </Style>
                            </ig:FieldSettings.EditorStyle>
                        </ig:FieldSettings>
                    </ig:Field.Settings>
                </ig:Field>
                <ig:Field Name="Description"></ig:Field>
            </ig:FieldLayout>
        </ig:XamDataGrid.FieldLayouts>
    </ig:XamDataGrid>
</Window>

-

using System;
using System.ComponentModel;
using System.Windows;

namespace DataGridTest
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

            MyData = new BindingList<MyModel>
                {
                    new MyModel {Code = "T1", Description = "Test 1"},
                    new MyModel {Code = "T2", Description = "Test 2"}
                };

            MyData2 = new BindingList<MyModel>
                {
                    new MyModel {Code = "T1", Description = "Test 3"},
                    new MyModel {Code = "T2", Description = "Test 4"}
                };

            DataContext = this;
        }

        public BindingList<MyModel> MyData { get; set; }
        public BindingList<MyModel> MyData2 { get; set; }
    }

    public class MyModel
    {
        public string Code { get; set; }
        public string Description { get; set; }
    }
}
4

1 に答える 1

2

これを調査しましたが、XamComboEditor、XamDataGrid、および選択に内部的な問題があるようです。

また、Infragistics のフォーラムの重複したフォーラム スレッドにも、詳細が記載されています。

http://www.infragistics.com/community/forums/p/84127/420015.aspx

于 2013-10-08T05:51:41.170 に答える