WPF를 사용하고 있습니다.레이블이 비어 있지 않을 때 버튼 숨기기
레이블이 비어 있지 않으면 버튼을 표시하고 싶습니다. Label에 값이 있으면 버튼이 숨겨집니다.
WPF로 어떻게 할 수 있습니까? <Style>
을 사용 하시겠습니까?
코드 :
<Label Name="lblCustomerName"/>
<Button Name="btnCustomer" Content="X" Visibility="Hidden" />
WPF를 사용하고 있습니다.레이블이 비어 있지 않을 때 버튼 숨기기
레이블이 비어 있지 않으면 버튼을 표시하고 싶습니다. Label에 값이 있으면 버튼이 숨겨집니다.
WPF로 어떻게 할 수 있습니까? <Style>
을 사용 하시겠습니까?
코드 :
<Label Name="lblCustomerName"/>
<Button Name="btnCustomer" Content="X" Visibility="Hidden" />
보십시오.
public class ContentNullToVisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null)
{
return Visibility.Hidden;
}
return Visibility.Visible;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
변환기에 대한 추가 정보 here.
첫 번째 줄은 당신이 위의 클래스를 생성하는 네임 스페이스로 자격을해야합니다 자원에 정의되어야합니다 :
그런 다음 XAML에서 다음을 수행 할 수 있습니다. 리소스를 정의하고 나면 두 번째 부분을 사용할 수 있습니다.<ContentNullToVisibilityConverter x:Key="visConverter"/>
<Label Name="lblCustomerName"/>
<Button Name="btnCustomer" Content="X" Visibility="{Binding ElementName=lblCustomer, Path=Content, Converter={StaticResource visConverter}}" />
당신은 변환기를 사용하고 lblCustomer의 내용에 바인딩해야합니다
if (string.IsNullOrEmpty(lblCustomerName.Text)) {
btnCustomer.Visibility = Visibility.Hidden;
}
else {
btnCustomer.Visibility = Visibility.Visible;
}
예,이 방법은 작동하지만 wpf에서 동적으로 수행하는 방법입니다. –