У меня есть TabItem
, у которого есть свойство IsEnabled
, связанное с свойством ViewModel, которое называется IsSaved
.Как связать свойство IsEnabled с более динамичным свойством в ViewModel?
Это выглядит следующим образом:
<TabItem Header="POs"
IsEnabled="{Binding IsSaved, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}">
Красивая, правда? В моем ViewModel
свойство IsSaved
не так просто. Она определяется как:
public bool IsSaved
{
get
{
return IsDeveloper
&& CheckValidation(null)
&& !IsDirty
&& !displayMasterRepository.IsObjectChanged(); //TODO: this does not work.
}
}
Теперь, очевидно, это никогда не будет обновлять вид, потому что есть на OnPropertyChanged
событие происходит здесь. На самом деле, если бы я знал, куда положить OnPropertyChanged
, я бы хотел, но в этом случае многие, многие вещи могут вызвать изменение этого свойства, чтобы это не имело смысла. Что бы кто-то сделал в этой ситуации?
Если это была кнопка с привязкой к команде, я бы передал IsSaved
в команду делегата в качестве параметра CanExecute, и она будет работать динамически. Есть ли что-то подобное для такой ситуации? Благодаря!
Отлично, спасибо! –