2015-01-07 70 views
0

我使用CameraCaptureUI API來捕獲並保存我加載到按鈕中的圖片,如下面的XAML。如何將UniForm圖像拉伸到WINRT中的按鈕內容

<Page 
    x:Class="App1.MainPage" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:local="using:App1" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    mc:Ignorable="d"> 

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" VerticalAlignment="Center" HorizontalAlignment="Center"> 
     <StackPanel> 
      <Button Width="150" Height="150"> 
       <Button.Content> 
        <Image x:Name="coffejpg" Stretch="Uniform" /> 
       </Button.Content> 
      </Button> 
     </StackPanel> 
    </Grid> 
</Page> 

背後代碼代碼:

namespace App1 
{ 
    /// <summary> 
    /// An empty page that can be used on its own or navigated to within a Frame. 
    /// </summary> 
    public sealed partial class MainPage : Page 
    { 
     public MainPage() 
     { 
      this.InitializeComponent(); 
      coffejpg.Source = new BitmapImage(new Uri("ms-appx:///Assets/coffe.jpg")); 
     } 
    } 
} 

下面是我用攝像頭拍攝的咖啡文件的加載結果。

enter image description here

我如何可以伸展圖片的按鈕邊框。我已經嘗試使用圖像的VerticalAlignmentHorizontalAlignment屬性。還嘗試了高度和寬度,但他們變形的圖片。

拉伸屬性必須是統一明確

這只是一個測試場景。

+0

你試過'拉伸= 「填充」'? –

+0

Stretch在任何情況下都必須是UniForm,即使如此,它仍然不需要按鈕的全部內容。 – MartinZPetrov

+0

@MartinZPetrov然後你可以嘗試'UniformToFill'。 –

回答

1

如果您堅持使用Stretch=Uniform那麼您需要了解它的功能。它保留了圖像的寬高比。因此,如果原始圖片爲800x600,圖片將保持4x3的比例。您正試圖以1x1比例按鈕放置圖像,但圖像本身不是1x1比例。所以按鈕周圍會有空白區域。

如果你不想使用UniformToFill,那麼另一種解決方案是改變按鈕的大小。

嘗試在按鈕上只設置一個尺寸。

<Button Width="150" Height="Auto"> 

<Button Width="Auto" Height="150">