Yapmaya çalıştığım şeyin "basit" olması gerektiğine inanıyorum, bu yüzden açık bir şey eksik.Bir DataTrigger'ın bir onay kutusunun IsChecked özelliğine bağlanması
Bir DataGrid'de bir CheckBox'a bağlanmaya çalışıyorum, böylece işaretlendiğinde, satırının Arka Plan rengi değişecektir. Her satırda bir CheckBox var. Temel olarak kendi çoklu çoklu satır işlevlerimi uyguluyor (bu bir ürün gereksinimi, sorma) ve başka bir şey var, ancak seçilen bir satırın bu görsel belirtimi var.
this question okudum ama cevabım eksik olduğu yerde "BooleanPropertyOnObjectBoundToRow" olarak koymak tam olarak nedir. Ayrıca this question'a baktım ve bir RelativeSource ile uğraşmaya çalıştım ama şanssız.
benim kod arkada benim ızgara oluşturmak, ama burada (benim DataTrigger tanımlamıştır) satırlar için kullanılan benim şimdiki tarzı:
<Style x:Key="MyRowStyle" TargetType="DataGridRow">
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked}" Value="True">
<Setter Property="Background" Value="Blue"/>
</DataTrigger>
</Style.Triggers>
</Style>
Şimdi benim kod arkasında, benim DataGridTemplateColumn oluşturmak ve burada benim onay kutularını oluşturmak için bir Fabrikası kullanın ve benim Bağlama-ilgili koddur:
Binding checkBinding = new Binding("IsChecked");
checkBinding.Mode = BindingMode.OneWayToSource;
RelativeSource relativeSource = new RelativeSource();
relativeSource.AncestorType = typeof(DataGridRow);
relativeSource.Mode = RelativeSourceMode.FindAncestor;
checkBinding.RelativeSource = relativeSource;
factory.SetBinding(CheckBox.IsCheckedProperty, checkBinding);
ilgisini çekebilir Ben bir DataTable'a benim DataGrid ItemsSource set aslında ama benim CheckBox sütun dEĞİL ne yapar DataTable'da karşılık gelen bir sütun var. Sadece şablon sütununu ayrı olarak ekledim, belki de bu temel depolama eksikliği bunu etkiliyor mu?
Daha fazla bilgiye ihtiyacınız varsa, lütfen bana bildirin. Teşekkürler!
hiç cevabım yardımcı oldu mu? – Phil