0

我的 ListBox 有这个 XAML:

<ListBox x:Name="LbBatidas" ItemsSource="{Binding Batidas}" Height="Auto" Grid.Row="3" Grid.ColumnSpan="2">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal" Height="72">
                <Image Source="{Binding Natureza, Converter={StaticResource NaturezaBatidaConverter}}" Width="72"/>                                 
                <TextBlock Text="{Binding Horario, StringFormat=\{0:HH:mm:ss\}}" VerticalAlignment="Center" FontSize="48" Margin="10,0,0,0"/>
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>

但是当我运行我的应用程序时,它完全正常。

如果我删除图像源绑定的转换器无效 XAML 停止的错误

<ListBox x:Name="LbBatidas" ItemsSource="{Binding Batidas}" Height="Auto" Grid.Row="3" Grid.ColumnSpan="2">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal" Height="72">
                <Image Source="{Binding Natureza}" Width="72"/>                                 
                <TextBlock Text="{Binding Horario, StringFormat=\{0:HH:mm:ss\}}" VerticalAlignment="Center" FontSize="48" Margin="10,0,0,0"/>
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>

无效的 XAML 错误

源代码链接: https ://projects.developer.nokia.com/MeuPonto

4

2 回答 2

0

尝试像这样更改您的 Convert 和 ConvertBack 方法:

    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        var v = value as NaturezaBatida;
        if (v == null)
            return null;

        var imageSource = v == NaturezaBatida.Entrada
                              ? new Uri("/Imagens/Entrada.png", UriKind.RelativeOrAbsolute)
                              : new Uri("/Imagens/Saida.png", UriKind.RelativeOrAbsolute);

        return new BitmapImage(imageSource);
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        return value;
    }

您应该在 Convert 方法中返回 null 或空/默认图像,而不是传入的对象。

于 2013-03-04T21:17:08.753 回答
-2

简单只需重建您的解决方案。单击构建-> 重建 sloution

于 2015-04-26T06:45:25.963 回答