0

DevExpress WPF コントロールと Simple MVVM Toolkit を使用して、MVVM ベースのシステムを開発しています。グリッド内の各行のビューモデルがブール値のプロパティを持っている GridControl を表示している場合があります (とりわけ)。このプロパティは、チェックボックスとして GridControl に表示されます。

ユーザーがそのチェックボックスを選択または選択解除した直後に、ウィンドウ内の別のビューを更新したいのですが、うまくいかないようです。ビューを更新するプロパティ セッターにいくつかのコードを入れましたが、これはユーザーが GridControl の行の外側をクリックした後にのみ実行されます。そのため、セッターを実行するには 2 つの手順が必要です。

  1. チェックボックスを選択または選択解除
  2. グリッドコントロールで別の行をクリックして選択します

ステップ 1 の直後にセッターを実行することはできますか?

ビューモデルが「編集中」の状態にある場合、クローンが作成され、「編集中」の状態が終了したときにのみ、プロパティが新しい値に設定されるという Simple MVVM Tooklkit の動作と関係があると想像できます。

これに関する洞察をいただければ幸いです。

よろしく、〜ロブ

4

1 に答える 1

0

これについては、ここで何度か議論されています。次のように DataGridTemplateColumn を使用するだけです。

    <DataGridTemplateColumn Width="Auto" Header="Selected">
      <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
          <Grid>
            <CheckBox IsChecked="{Binding IsSelected, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
                            HorizontalAlignment="Center" 
                            VerticalAlignment="Center"/>
          </Grid>
        </DataTemplate>
      </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
于 2014-01-08T10:28:07.030 に答える