Вы можете просто иметь модель представления, упаковывающую эти свойства в один объект:
public class ViewModel : INotifyPropertyChanged
{
private bool imagesVisibility;
private bool isTextBoxEnabled;
public event PropertyChangedEventHandler PropertyChanged;
public bool ImagesVisibility
{
get { return this.imagesVisibility; }
set
{
this.imagesVisibility = value;
this.PropertyChanged(this,
new PropertyChangedEventArgs("ImagesVisibility"));
}
}
public bool IsTextBoxEnabled
{
// ... similar as with ImagesVisibility property implementation
}
}
Обратите внимание, что вам также понадобится преобразователь логического значения в видимость, примеры которого вы можете найти в StackOverflow ( здесь ) ... или в другом месте .
Затем вы просто устанавливаете экземпляр ViewModel
в свой контекст данных формы:
public MyForm()
{
InitializeComponent();
DataContext = new ViewModel();
}
Затем вы можете связывать изображения, например Visibility="{Binding ImagesVisibility}"
и текстовое поле IsEnabled="{Binding IsTextBoxEnabled}"
.