Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将存储在独立存储中的图像用于故事板动画?_C#_Silverlight_Windows Phone 7 - Fatal编程技术网

C# 如何将存储在独立存储中的图像用于故事板动画?

C# 如何将存储在独立存储中的图像用于故事板动画?,c#,silverlight,windows-phone-7,C#,Silverlight,Windows Phone 7,我似乎无法将存储在独立存储中的图像显示在我的故事板中,我可以在用相机拍照时将图像输出到屏幕上,但使用相同的文件名Value=String.Format(“MyImage{0:D2}.jpg”,I)如果我在故事板中再次打开独立存储,那么存储它们的位置似乎不起作用。我正在使用烛光动画教程,但这些图像位于静态保存的文件夹中。如果有人能帮忙,我将不胜感激。谢谢 编辑 我可以从单独的存储中打开一个图像,但它是最后一个出现的图像,我甚至不知道它是否正在运行动画,因为它只有一个图像,有人能帮忙吗?代码在下面的

我似乎无法将存储在独立存储中的图像显示在我的故事板中,我可以在用相机拍照时将图像输出到屏幕上,但使用相同的文件名
Value=String.Format(“MyImage{0:D2}.jpg”,I)
如果我在故事板中再次打开独立存储,那么存储它们的位置似乎不起作用。我正在使用烛光动画教程,但这些图像位于静态保存的文件夹中。如果有人能帮忙,我将不胜感激。谢谢

编辑 我可以从单独的存储中打开一个图像,但它是最后一个出现的图像,我甚至不知道它是否正在运行动画,因为它只有一个图像,有人能帮忙吗?代码在下面的第二个帖子中

private void PlayButton\u单击(对象发送者,路由目标)
{
AnimationPanel.Visibility=可见性.Visibility;
故事板=新故事板
{
RepeatBehavior=RepeatBehavior.永远
};
var animation=使用关键帧()的新对象动画;
故事板.SetTarget(动画,烛台图像);
Storyboard.SetTargetProperty(动画,新属性路径(“源”);
故事板。儿童。添加(动画);

对于(int i=0;i使用isolatedstorage FileStream从isolatedstorage读取图像,然后在情节提要中使用它。

请尝试以下代码

MainPage.xaml:

<StackPanel x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <Button Content="Save to IsolatedStorageSettings" Click="btnSave_Click"/>
            <Button Content="Get Data from IsolatedStorageSettings" Click="btnGet_Click"/>

            <TextBlock Text="{Binding Name}" FontSize="50"/>
            <Image Source="{Binding Flag}" Stretch="None" HorizontalAlignment="Left"/>

</StackPanel>

MainPage.Xaml.cs:

private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            SaveStringObject();
            SaveCompositeObject();
        }

private void btnGet_Click(object sender, RoutedEventArgs e)
        {
            if(settings.Contains("myemail"))
            {
                //Retrieve email Data
                var location = settings["myemail"].ToString();
                settings["email"] = "support@windowsphonnegeek.com";
            }

            //Retrieve City Data
            City City1;
            settings.TryGetValue<City>("city", out City1);

            this.DataContext = City1;
        }

public void SaveStringObject()
        {
            var settings = IsolatedStorageSettings.ApplicationSettings;
            settings.Add("myemail", "support@windowsphonnegeek.com");
        }

        public void SaveCompositeObject()
        {
            var settings = IsolatedStorageSettings.ApplicationSettings;
            City city = new City { Name = "London", Flag = "UK.png" };
            settings.Add("city", city);
        }

        public class City
        {
            public string Name
            {
                get;
                set;
            }

            public string Flag
            {
                get;
                set;
            }
        }
private void btnSave\u单击(对象发送方,路由目标)
{
SaveStringObject();
SaveCompositeObject();
}
私有void btnGet\u单击(对象发送方,路由目标)
{
if(settings.Contains(“myemail”))
{
//检索电子邮件数据
var location=settings[“myemail”].ToString();
设置[“电子邮件”]=“support@windowsphonnegeek.com";
}
//检索城市数据
城市1;
设置。TryGetValue(“城市”,城市1外);
this.DataContext=City1;
}
public void SaveStringObject()
{
var设置=隔离存储设置。应用设置;
设置。添加(“myemail”support@windowsphonnegeek.com");
}
公共void SaveCompositeObject()
{
var设置=隔离存储设置。应用设置;
城市=新城{Name=“London”,Flag=“UK.png”};
设置。添加(“城市”,城市);
}
公营城市
{
公共字符串名
{
得到;
设置
}
公共字符串标志
{
得到;
设置
}
}

您可以从独立存储中保存和获取图像。现在,您可以使用此功能使用故事板制作动画。

在我上面的编辑中,我不得不在循环中移动BitmapImage,因为它每次都需要一个新实例,需要一段时间才能找到,但现在正在工作。

尝试再次调用独立存储并从中流式传输图像。从未测试过它,但是您可以尝试使用“isostore”uri方案来引用您的图像:
isostore:/MyImage01.jpg
Hi-guys感谢您的帮助,我尝试使用
var-keyframe=new-DiscreteObjectKeyFrame{KeyTime=KeyTime.FromTimeSpan(TimeSpan.frommilluses(50*I)),Value=isStore.OpenFile(String.Format(“MyImage{0:D2}.jpg”,i),FileMode.Open)//来自独立存储的映像};
并获得“不允许对隔离存储文件流执行此操作。”异常未处理。如何打开多个图像?您好,我的问题是在循环内的独立存储中打开图像,我可以打开它们并将它们绑定到列表框,动画就在这个循环内,我不能,它只输出最后一个图像。您也不能绑定到故事板。请检查是否存在带循环的隔离存储ANK用于链接,但我不知道在我的循环中在哪里使用它,因为它返回最后一个文件名,与我自己的代码相同?
<StackPanel x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <Button Content="Save to IsolatedStorageSettings" Click="btnSave_Click"/>
            <Button Content="Get Data from IsolatedStorageSettings" Click="btnGet_Click"/>

            <TextBlock Text="{Binding Name}" FontSize="50"/>
            <Image Source="{Binding Flag}" Stretch="None" HorizontalAlignment="Left"/>

</StackPanel>
private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            SaveStringObject();
            SaveCompositeObject();
        }

private void btnGet_Click(object sender, RoutedEventArgs e)
        {
            if(settings.Contains("myemail"))
            {
                //Retrieve email Data
                var location = settings["myemail"].ToString();
                settings["email"] = "support@windowsphonnegeek.com";
            }

            //Retrieve City Data
            City City1;
            settings.TryGetValue<City>("city", out City1);

            this.DataContext = City1;
        }

public void SaveStringObject()
        {
            var settings = IsolatedStorageSettings.ApplicationSettings;
            settings.Add("myemail", "support@windowsphonnegeek.com");
        }

        public void SaveCompositeObject()
        {
            var settings = IsolatedStorageSettings.ApplicationSettings;
            City city = new City { Name = "London", Flag = "UK.png" };
            settings.Add("city", city);
        }

        public class City
        {
            public string Name
            {
                get;
                set;
            }

            public string Flag
            {
                get;
                set;
            }
        }