从json分享选定的绑定图像

时间:2016-09-26 05:32:30

标签: c# json image uwp

我有一些json中包含的图像数据集合。我希望可以共享页面上选定的图像。怎么样?

XAML:

<Grid Background="#FF302A2A"
        d:DataContext="{Binding Groups[0].Items[0], Source={d:DesignData Source=/DataModel/TemplesData.json, Type=data:TemplesDataSource}}">

        <Grid x:Name="gridAtas" VerticalAlignment="Center" Grid.Row="0" Margin="0,0,10,17" DataContext="{Binding Item}">

            <AppBarButton x:Name="shareBtn" Margin="0,0,30,0" VerticalAlignment="Center" Icon="ReShare" Foreground="White" Click="shareBtn_Click" />
        </Grid>

        <Grid x:Name="gridContent" Grid.Row="1">
            <FlipView ItemsSource="{Binding Group.Items}" SelectedItem="{Binding Item, Mode=TwoWay}" Foreground="{x:Null}">
                <FlipView.ItemTemplate>
                    <DataTemplate>
                        <Grid x:Name="content" Margin="70,0,0,0">

                            <Image x:Name="photo" Grid.Column="0" Margin="20,0,10,10" VerticalAlignment="Center" HorizontalAlignment="Center" Source="{Binding ImagePath}" />

                        </Grid>
                    </DataTemplate>
                </FlipView.ItemTemplate>
            </FlipView>
        </Grid>

代码:

private async void navigationHelper_LoadState(object sender, LoadStateEventArgs e)
    {
        var item = await TemplesDataSource.GetItemAsync((String)e.NavigationParameter);
        var group = await TemplesDataSource.GetGroupByItemAsync(item);
        this.DefaultViewModel["Group"] = group;
        this.DefaultViewModel["Item"] = item;
    }


    private void shareBtn_Click(object sender, RoutedEventArgs e)
    {

    }

如何分享所选图像?

2 个答案:

答案 0 :(得分:0)

Microsoft通过DataTransferManager提供Inbuilt Share数据选项。

所有共享指南均已提供here

Microsoft GitHub页面上有一个关于如何执行此操作的ShareSource示例。

您正在寻找特别分享图片。所以寻找This

我不会在这里发布代码,因为会发布太多代码,而且下载样​​本并尝试更好。

答案 1 :(得分:0)

@ AVK有一个很好的答案。我有一个不同的答案。你可以使用云存储的图像并将你的图像上传到云端,它可以作为网址共享。

云存储的图像可以使用oneDrive SDK上传,如@Jacky所说。

我希望答案可以帮助你。