0

XamComboEditor の itemssource が List に設定されているため、実際の文字列は表示されず、長さが表示されます。リストから実際の文字列を表示するにはどうすればよいですか。

<Infragistics:XamComboEditor x:Name="cboSearchMemberMultiSelect" CheckBoxVisibility="Visible"  Grid.Column="1"  HorizontalAlignment="Left" Height="24" Margin="2" Width="150" Visibility="Collapsed" AllowMultipleSelection="True" SelectionChanged="cboSearchMemberMultiSelect_SelectionChanged"  />

XAml.cs 内

 private List<string> StudentTypeItems()
    {
        List<string> list = new List<string>();
        list.Add("Student");
        list.Add("Ambassador");
        list.Add("Crew");
        return list;
    }

cboSearchMemberMultiSelect.ItemsSource=StudentTypeItems();

値を表示するだけの問題です。それ以外の場合は、デバッグすると通常どおりアイテムが表示されます。とても奇妙です。

4

1 に答える 1

1

この動作について私が考えたことは次のとおりです。WPF バインディング システムは、クラスではなくプロパティのみをバインドします。文字列のリストは基本的に文字列クラスのリストです。つまり、項目のバインドは文字列クラスのプロパティで行うことができます。String クラスには Length プロパティしかありません。そのため、デフォルトで length プロパティにバインドされています。

新しいクラスを作成する場合。従業員と言って name プロパティを追加します。従業員のリストを作成すると、リストボックスの子要素は Employee クラスの name プロパティで入札できます。

うまくいけば、これで問題が解決します。

于 2012-10-11T08:18:25.557 に答える