1

私はMVVMを初めて使用します。タイトルのリストを含むビューにcheckedlistboxがあります(ViewModelの公開されたプロパティをこのcheckedlistboxコントロールにバインドしました)...

ListCheckBox に値を設定する XAML コードを次に示します。

<ListBox x:Name="lstCode" ItemsSource="{Binding Code,Mode=TwoWay}"  Grid.Row="1" Style="{StaticResource ListBoxStyle}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <CheckBox x:Name="chkBox" IsChecked="{Binding IsChecked,Mode=TwoWay}"  Content="{Binding Code_Name}" Margin="0" />
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

このコントロールは、リストボックス内の各項目のチェックボックスを使用して項目の正しいリストを表示します...

2つの方法で機能させるには、ビューモデルのコードはどうあるべきですか-データベースからコードを取得している間、リストチェックボックスからコードを自動的に選択する必要があり、ユーザーが1つ以上のコードを選択すると、ビューモデルはアイテムを認識できる必要があります選択...

4

1 に答える 1

1

一般に、バインディングでは、バインド先の ViewModel にINotifyPropertyChangedTwoWayインターフェイスを実装する必要があります。

この場合、ViewModel は、ビューがバインドできるコレクション ( ObservableCollectionなど) を返すプロパティを提供する必要があります。

これObservableCollectionにより、View と ViewModel の間で変更を自動的に伝達する方法で、そのリスト内の項目を追加、更新、および削除することができます。

残りについては、MVVM の深さを掘り下げることをお勧めします。WPF の機能を十分に活用するには、基本を自分で理解する必要があります。素晴らしい出発点は、この SO スレッドです: MVVM: Tutorial from start to finish?

于 2012-09-24T12:02:19.580 に答える