public class HobbyCheckBoxItem
{
private readonly User _user;
public HobbyCheckBoxItem(User user, Hobby hobby)
{
_user = user;
Hobby = hobby;
_isChecked = user.Hobbies.Contains(hobby);
}
public Hobby Hobby { get; }
private bool _isChecked;
public bool IsChecked
{
get => _isChecked;
set
{
if (_isChecked == value) return;
_isChecked = value;
if (value) _user.Hobbies.Add(Hobby);
else _user.Hobbies.Remove(Hobby);
// save db
}
}
}
<Style x:Key="TestButtonStyle" TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<TextBlock Text="{Binding}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Button DataContext="Some text" Style="{StaticResource TestButtonStyle}" />
<Button x:Name="btn" Content="Нажать!!!" Width="150" Height="45" Margin="45,49,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Click="btn_Click"/>
<PasswordBox
uiHelpers:PasswordBoxAssistant.BindPassword="True"
uiHelpers:PasswordBoxAssistant.BoundPassword="{Binding ServerPassword, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
CollectionViewSource _viewSource = new CollectionViewSource();
_viewSource.Source = _items;
_viewSource.Filter += (s, e) =>
{
SomeItem item = e.Item as SomeItem;
bool accepted;
//проверяем наши условия. true - объект отобразится, false - не отобразится
e.Accepted = accepted;
};
_viewSource.View.Refresh();