Есть свойство cnt
, как я могу скрыть элемент когда cnt > 5
?
Что-то типо тернарного оператора
Visibility="{Binding Path=Test.cnt > 5 ? 'Hidden' : 'Visibile'}"
Вам нужно использовать конвертер значений.
Это средство, позволяющее преобразовывать любой тип исходных данных в любой тип представления объекта, который может быть передан связанному элементу управления.
То есть преобразовать int
к Visibility
как в вашем случае.
Более подробно можете прочитать здесь.
Конвертер будет выглядеть примерно следующим образом:
class CountToVisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
int count;
bool success = int.TryParse(value.ToString(), out count);
if (!success)
{
return Visibility.Hidden;
}
if (count > 5)
return Visibility.Hidden;
if (count < 0)
return Visibility.Collapsed;
return Visibility.Visible;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return value;
}
}
Далее используем его в разметке:
<StackPanel>
<StackPanel.Resources>
<local:CountToVisibilityConverter x:Key="CountToVisibilityConverter" />
</StackPanel.Resources>
<TextBox Text="{Binding Count, UpdateSourceTrigger=PropertyChanged}"/>
<Button Content="Button1" Visibility="{Binding Count, Converter={StaticResource CountToVisibilityConverter}}" />
<Button Content="Button2" />
</StackPanel>
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Подскажите как сделать удаление выделенного элемента из TreeView? (находящегося не на самом верхнем уровне)
Есть ли какой то способ, для того что бы приложения на WinForms или WPF начиная с XP и дальше до 10, выглядели одинаково? Есть иногда даже разница между...