Установить свойство IsVisible строковым значением модели
Я использую XAML для определения ListView, с несколькими кнопками для каждой ячейки. Я хочу, чтобы вызвать видимость в зависимости от того, пустое значение строки или нет. Моя кнопка внутри ListView:
<Button Text="{Binding Phone}"
Clicked="OnPhoneClicked"
CommandParameter="{Binding Telefono}"
x:Name="btnPhone" />
переплет Phone
читается из моей модели. Это правильно показано.
Как можно установить IsVisible
кнопка свойства, если Phone
значение пустая строка?
1 ответ
Попробуйте этот код
<Button Text="{Binding Phone}"
Clicked="OnPhoneClicked"
CommandParameter="{Binding Telefono}"
x:Name="btnPhone"
IsVisible="{Binding Phone,Converter={StaticResource StringNullOrEmptyBoolConverter"} />
Файл StringNullOrEmptyBoolConverter.cs
public class StringNullOrEmptyBoolConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
var s = value as string;
return !string.IsNullOrWhiteSpace(s);
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
Наконец добавьте это в App.xaml
файл
<Application.Resources>
<ResourceDictionary>
<Converter:StringNullOrEmptyBoolConverter x:Key="StringNullOrEmptyBoolConverter" />
</ResourceDictionary>
</Application.Resources>