가시성이 처음 접힌 상태로 설정되고 바인딩이 표시되도록 설정되면 이미지가 표시되지 않는 이상한 상황이 발생합니다.접힌 후 이미지가 표시되지 않습니다.
<ListView Grid.Row="0" ItemsSource="{Binding SystemCheckEntries}">
<GridViewColumn DisplayMemberBinding="{Binding State}" />
<GridViewColumn>
<GridViewColumn.CellTemplate>
<DataTemplate>
<Image Source="info.png"
Height="14"
ToolTip="{Binding Message}"
Visibility="{Binding Message, Converter={StaticResource StringNullOrEmptyToVisibilityConverter}}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
변환기 :
public class StringNullOrEmptyToVisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return string.IsNullOrEmpty((string) value) ? Visibility.Collapsed : Visibility.Visible;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
내가 컨버터 Visibility.Collapsed
를 사용하는 경우, 결과는 같은
을보고 나는 시각적 트리를 열면 이미지의 속성을 확인하는
"Visible"이라고 가정합니다 (하지만 분명히 아닙니다). 내가 컨버터 Visibility.Hidden
를 사용하는 경우
있다. 그러나 아이콘이 보이지 않을 때 아이콘이 추가 공간을 차지하지 못하도록하고 싶습니다.
그렇다면 왜 이런 일이 발생합니까?
비슷한 최소한의 예제를 설정하고 잘 작동합니다. –