DataGridCheckBoxColumnのチェックボックスがオンになっているときにボタンを有効にします。私はいくつかの研究を行い、このstackoverflowを以下に見つけました。私は、UpdateSourceTrigger = PropertyChangedを列に置くことはトリックを行うべきだが、私のプロパティにブレークポイントを置くと呼び出されないことがわかった。ここでWPF checkboxcolumn- onチェックボックスの値が変更された、何かをする
Checkbox event that fires AFTER the value has changed
は私が持っている私のXAMLコードです:MyClassのは3を含む単純なクラスです
private ObservableCollection<Objects.MyClass> _myProperty;
public ObservableCollection<Objects.MyClass> MyProperty
{
get { return _myProperty; }
set
{
_myProperty= value;
this.RaisePropertyChanged();
}
}
:私の見解モデルで
<DataGrid Grid.Row="3" Grid.Column="1" AutoGenerateColumns="False" FontSize="18" ItemsSource="{Binding Path=MyProperty, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}">
<DataGrid.Columns>
<DataGridCheckBoxColumn Binding="{Binding Path=Status, UpdateSourceTrigger=PropertyChanged}" Header="Verify" Width="1*"/>
<DataGridTextColumn Binding="{Binding Path=Id, UpdateSourceTrigger=PropertyChanged}" Header="PalletID" IsReadOnly="True" Width="2*"/>
</DataGrid.Columns>
</DataGrid>
、私の財産はこれですプロパティ:
public string Id { get; set; }
public bool Verified { get; set; }
public bool Status { get; set; }
public MyClass(string id, bool currentStatus)
{
Id = id;
Verified = currentStatus;
Status = false;//Set to false initially to deselect checkbox.
}
私には何かがありますか?私がオンラインで収集したものから、チェックボックス列のUpdateSourceTrigger = PropertyChangedは、チェックボックス値が変更されたときに表示するものです。どんな助けも素晴らしいだろう。
したがって、あなたのプロパティ**ステータス**は決してヒットしませんか? – nvoigt
プロパティが呼び出されていないことをどのように知っていますか? – mm8
私のクラスの "Status"にブレークポイントを置くと返されます。プロパティーはビューで更新されます。しかし、問題は、ビューに更新された値が表示されないことです。私は私の財産にブレークポイントを置いたので、これは発生していないことを知っています。 –