Как я могу получить SelectionText
для обновления при изменении флажка. Когда я поднимаю PropertyChangedEvent
, PropertyChanged
имеет значение null с событием Checked
.Связывание PropertyChanged с родительским свойством
BitmaskStackPanel является родительским и отображает все флажки.
Это, вероятно, очень просто, но я этого не делал раньше.
class BitmaskStackPanel {
public BitmaskStackPanel(string name, List<BitmaskCheckBox> checkboxes, long defaultValue = 0)
{
Name = name;
_checkboxes = checkboxes;
DefaultValue = defaultValue;
foreach (var bmcb in Checkboxes)
{
Children.Add(bmcb);
}
}
public List<BitmaskCheckBox> Checkboxes
{
get
{
return _checkboxes;
}
}
public string SelectionText
{
get
{
return ToString();
}
}
}
}
public class BitmaskCheckBox : CheckBox, INotifyPropertyChanged
{
public BitmaskCheckBox(long value, string details, bool isChecked = false, Visibility visibility = Visibility.Visible)
{
Tag = value;
Content = details;
IsChecked = isChecked;
Visibility = visibility;
}
public event PropertyChangedEventHandler PropertyChanged;
}
Это вся ваша BitmaskCheckBox? Вы должны реализовать правильный сбор событий для PropertyChanged, который выполняется, когда новое значение установлено в свойство ViewModel, привязанное к представлению. Лучше всего, если вы посмотрите учебники по [DataBinding] (http://www.wpf-tutorial.com/data-binding/introduction/). –