Простое (возможно, некрасивое, но определенно должно работать):
void CanSave(....)
{
bool canSave = GetValueBlahBlah();
if (tb.IsVisible != canSave)
tb.Visibility = canSave ? Visibility.Visible : Visibility.Collapsed;
}
tb
представляет текстовый блок, который вы хотите показать и скрыть в соответствии с состоянием CanSave.
Вы также можетехочу создать DependencyProperty, как вы сказали, и установить TextBlock
s (вам нужно будет использовать отдельный TextBlock для звезды - или использовать Run
s, которые можно привязать в WPF 4+) Visibility
/ FontWeight
в соответствии сэто через DataTrigger
с.