2

wpf ツールキット 2 のチェック リスト ボックスがあります。選択した項目の一部を取得できません。SelectedItemsOverride を使用して選択したすべてのアイテムを取得することになっていることを読みましたが、機能していないようです。TestClassSelected のセッターにブレーク ポイントを設定しましたが、決して起動されません。何か案は?

<xctk:CheckListBox Name="MyCheckList"
                   ItemsSource="{Binding TestClassCollection}"
                   DisplayMemberPath="DisplayName"
                   SelectedItemsOverride="{Binding TestClassSelected}"  />

.

public IEnumerable<TestClass> TestClassCollection
{
    get { return _testClassCollection; }
    set
    {
        _testClassCollection = value;
        OnPropertyChanged("TestClassCollection");
    }
}

public List<TestClass> TestClassSelected
{
    get { return _testClassSelected; }
    set
    {
        _testClassSelected = value;
        OnPropertyChanged("TestClassSelected");
    }
}

.

public class TestClass
{
    public String FirstName { get; set; }
    public String LastName { get; set; }

    public String DisplayName { 
         get { return string.Format("{0} {1}", FirstName, LastName); } 
    }
}

これは私が使用している私のテストデータです。

TestClassCollection = new List<TestClass>
{
    new TestClass {FirstName = "FIrstName", LastName = "LastName"},
    new TestClass {FirstName = "Brad", LastName = "Holder"},
    new TestClass {FirstName = "Sam", LastName = "Ryans"},
    new TestClass {FirstName = "Ryan", LastName = "Thomas"},
    new TestClass {FirstName = "Lee", LastName = "Rod"},
    new TestClass {FirstName = "Amanda", LastName = "Gustaf"},
    new TestClass {FirstName = "Chris", LastName = "Holems"},
    new TestClass {FirstName = "Doug", LastName = "Schnitzel"},
    new TestClass {FirstName = "Lisa", LastName = "Bull"},
    new TestClass {FirstName = "Fred", LastName = "Simpson"},
    new TestClass {FirstName = "Scott", LastName = "Rogers"}
};
4

3 に答える 3

0

私は同じ問題に直面し、プロパティのプライベートフィールドを割り当てることで解決しました

あなたの例では

private ObservableCollection<TestClass> _testClassSelected=new ObservableCollection<TestClass>();
于 2018-08-07T08:14:58.363 に答える