wpflistview&Converter

wpflistview&Converter,wpf,xaml,converter,Wpf,Xaml,Converter,我有一个带有GridViewColumn的ListView,其中有一个图像,它使用一个转换器将bool转换为ImageSource。几个月来它一直工作正常,现在它突然只显示了一个红点而不是我的图像 转换器: public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if ((bool)value) ret

我有一个带有GridViewColumn的ListView,其中有一个图像,它使用一个转换器将bool转换为ImageSource。几个月来它一直工作正常,现在它突然只显示了一个红点而不是我的图像

转换器:

    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{

  if ((bool)value)
    return new BitmapImage(new Uri(@"/Dionysus.Styling;component/Images/Actions-dialog-ok-apply-icon.png", UriKind.RelativeOrAbsolute));
  else return 
    null;

}
Xaml:

更新:

我最近从ListView更改为DataGrid,然后我看到一个小感叹号,好像DataGrid上有数据验证错误


有什么想法吗?

史努普说了什么?也许这些点是你的图像,但大小为1x1?嗨,你在ListView中应用了CellTemplate吗?@Icecat在Snoop中终于找到了那个小图像后,当我想查看该图像的属性时,它需要很长时间,但仍然是人口属性。当我看到高度和宽度时会告诉你@Nisarg是的,它与我的其他列表视图完全相同,而我也有一个图像@icebat即使我将宽度和高度设置为30,图像仍保持不变。你能告诉我你的风格吗?当您的转换器返回空值时,此时它显示的是红点,或者在这两种情况下都显示的是红点?@NisargChauhan请参阅样式更新问题,它只在应该显示图像的行上显示点。其他行没有显示它应该显示的任何内容。
                    <GridViewColumn Header="">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <Image Source="{Binding Path=IsDelayedOrPreferred, Converter={StaticResource DelayConverter}, Mode=TwoWay}" />
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
 <Style TargetType="{x:Type ListView}">

    <Setter Property="BorderBrush" Value="White"/>
    <Setter Property="Foreground" Value="Black"/>
    <Setter Property="AlternationCount" Value="2"/>
    <Setter Property="Background" Value="WhiteSmoke"/>

    <EventSetter Event="Loaded" Handler="ListView_Loaded"/>

</Style>

<Style TargetType="{x:Type GridViewColumnHeader}">
    <Setter Property="HorizontalContentAlignment" Value="Left"/>
    <Setter Property="Margin" Value="1,0"/>
</Style>

<Style TargetType="{x:Type ListViewItem}" x:Key="ListViewStyle">


    <Style.Triggers>
        <Trigger Property="ItemsControl.AlternationIndex" Value="0">
            <Setter Property="Background" Value="WhiteSmoke"></Setter>
        </Trigger>
        <Trigger Property="ItemsControl.AlternationIndex" Value="1">
            <Setter Property="Background" Value="White"></Setter>
        </Trigger>

        <DataTrigger Binding="{Binding IsFirst}" Value="True">
            <Setter Property="Background" Value="LightGreen"></Setter>
        </DataTrigger>

        <DataTrigger Binding="{Binding IsLastUnpaid}" Value="True">
            <Setter Property="Background" Value="LightSalmon"></Setter>
        </DataTrigger>

        <Trigger Property="IsSelected" Value="True">
            <Setter Property="Background" Value="#FF41B1E1"></Setter>
        </Trigger>

    </Style.Triggers>

    <Setter Property="Height" Value="20" />
    <Setter Property="HorizontalAlignment" Value="Left"/>

</Style>