2014-10-01 54 views
1

我正在开发一个应用程序,它需要从图库中选择背景图片。对于这个我在Windows phone 8.1实现相同的功能Choose Photo功能(设置背景图片),如何在windows phone中实现选择照片功能

我已经试过这样:

XAML:

<Grid x:Name="LayoutRoot" Background="Transparent"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 

    <Grid Grid.Row="0" Name="contentPanel"> 
     <ScrollViewer Name="scrl" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden" Opacity="0.3"> 

     </ScrollViewer> 
     <ScrollViewer Name="scrlView" Height="500" Width="300" BorderBrush="Red" BorderThickness="1" Background="Transparent"> 

     </ScrollViewer> 
     <Image Name="mtpImg" Stretch="Fill" /> 
    </Grid> 
</Grid> 

<phone:PhoneApplicationPage.ApplicationBar> 
    <shell:ApplicationBar Mode="Minimized"> 
     <shell:ApplicationBarIconButton IconUri="Assets\ApplicationIcon.png" Click="gallery_click" Text="gallery"/> 
    </shell:ApplicationBar> 
</phone:PhoneApplicationPage.ApplicationBar> 

C#:

private void gallery_click(object sender, EventArgs e) 
    { 
     PhotoChooserTask chooser = new PhotoChooserTask(); 
     chooser.Completed += gallery_Completed; 
     chooser.Show(); 
    } 

    private void gallery_Completed(object sender, PhotoResult e) 
    { 
     if (e.TaskResult == TaskResult.OK) 
     { 
      Image img = new Image(); 
      BitmapImage tmpBitmap = new BitmapImage(); 
      tmpBitmap.SetSource(e.ChosenPhoto); 
      img.Source = tmpBitmap; 
      scrl.Content = img; 
     } 
    } 

问题:如何设置opacity=1内部显示的图像scrlView ScrollViewer?

回答

1

试试这个设置不透明度为1:

private void gallery_Completed(object sender, PhotoResult e) 
{ 
    if (e.TaskResult == TaskResult.OK) 
    { 
     Image img = new Image(); 
     BitmapImage tmpBitmap = new BitmapImage(); 
     tmpBitmap.SetSource(e.ChosenPhoto); 
     img.Source = tmpBitmap; 
     scrl.Content = img; 
     scrl.Opacity = 1.0; 
    } 
} 

如果您想设置在图像控制图像和边境你可以试试这个:

XAML:

<Grid Grid.Row="0" Name="contentPanel"> 
    <Border BorderBrush="Red" Height="500" Width="300" BorderThickness="1"> 
     <Image Name="mtpImg" Stretch="Fill" Height="500" Width="300"/> 
    </Border> 
</Grid> 

CS:

PhotoChooserTask chooser; 
public TaskPage() 
{ 
    InitializeComponent(); 
    chooser = new PhotoChooserTask(); 
    chooser.Completed += gallery_Completed; 
} 

private void gallery_click(object sender, EventArgs e) 
{ 
    chooser.Show(); 
} 

private void gallery_Completed(object sender, PhotoResult e) 
{ 
    if (e.TaskResult == TaskResult.OK) 
    { 
     BitmapImage tmpBitmap = new BitmapImage(); 
     tmpBitmap.SetSource(e.ChosenPhoto); 
     mtpImg.Source = tmpBitmap; 
    } 
} 
+0

这样设置opacity = 1表示谁le形象。我需要的是对于帧内部可见的图像部分,不透明度= 1。 – Dev 2014-10-01 07:21:09

相关问题