Обычно вам нужно написать IValueConverter
, чтобы вы могли связать свойство Visibility
вашего TextBox
либо с полем Address
, либо с новым полем.что вы создаете.
Если вы привязываетесь к полю Address
, вот как может выглядеть привязка:
<TextBlock Text="{Binding Path=Address}"
Visibility="{Binding Path=Address, Converter={StaticResource StringLengthVisibilityConverter}}" />
И тогда StringLengthVisiblityConverter
может выглядеть примерно так:
public class StringLengthVisiblityConverter: IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null || value.ToString().Length == 0)
{
return Visibility.Collapsed;
}
else
{
return Visibility.Visible;
}
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
// Don't need to implement this
}
}
Тогда вам просто нужно добавить конвертер в качестве ресурса, используя следующий синтаксис (где src
отображается в пространство имен, где определен конвертер):
<src:StringLengthVisiblityConverter x:Key="StringLengthVisiblityConverter" />