benim sırrım: xaml, (! O iş) Count
mülkiyet değişikliği dönüştürücü yürütmek MultiBinding
, güç kullanmak.
<MultiBinding Converter="{StaticResource SelectedRowsTotal }">
<Binding Path="SelectedItems" ElementName="listBox1" />
<Binding Path="SelectedItems.Count" ElementName="listBox1" />
</MultiBinding>
Dönüştürücü:
public class SelectedRowsTotal : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
var selecteds = values as IEnumerable;
if (selected == null)
return null;
return selecteds.Cast<SomeType>().Sum(x=> x.SomeProperty) = total;
}
object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
return null;
}
}
Hayır ben birkaç seçili öğeleri var ve bu özellik salt okunur olduğundan, sizin için ne kullanamazsınız seçilmiş durumda – Polaris
yılında ListBox onlara göstermek istiyorum istemek. Düşünebildiğim tek şey, "ListBoxItem.IsSelected" özelliklerini ayarlamaktır. Bağlama konusunda ısrar ederseniz, en kolay yol sizin için oluşturmanızdır. Özel bir SelectedItems 'DependencyProperty' özelliği, özellik değiştirici olay işleyicisiyle değiştirildi. – wpfwannabe