0

我在值转换器中放置了断点,它们从未被触发,但页面呈现时没有显示图像。

XAML:

xmlns:datatypes="clr-namespace:DataTypes_Portable;assembly=DataTypes_WinPhone8"
...
<phone:PhoneApplicationPage.Resources>
    <datatypes:WinPhone8ImageConverter x:Key="ImageConverter" />
</phone:PhoneApplicationPage.Resources>
...
<Image x:Name="LevelImage" HorizontalAlignment="Left" Height="Auto" VerticalAlignment="Top" Width="Auto" Margin="0" Grid.ColumnSpan="5" Source="{Binding Converter={StaticResource ImageConverter}, Path=App.Main.Game.CurrentLevel.CurrentPart.Image}"/>

反恐精英:

public class WinPhone8ImageConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        var imageProvider = value as WinPhone8ImageProvider;
        return imageProvider.Image;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

据我所知(通过试验和消除过程并查看引发了哪些异常),问题出在我试图绑定到值的 XAML 的一部分。

在断点处的值App.Main.Game.CurrentLevel.CurrentPart.Image被正确设置(即是 的一个实例WinPhone8ImageProvider)。

4

1 回答 1

1

事实证明,这根本与转换器无关。该值在图像加载之前绑定(因此源为空)。以供将来参考检查以确保您INotifyPropertyChanged在视图模型中正确实施。

于 2013-04-05T13:21:59.023 回答