Есть свойство 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>
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости