2016-05-17 4 views
1

の大きさに私は私のWPFプロジェクトで、次のXAMLを使用して、自分のアプリケーションのGUIに表示していますボタンのカップルがあります:設定ボタンのサイズの画像

<Button Style="{DynamicResource NoChromeButton}" Click="backBtn_Click" Margin="0,0,0,0" HorizontalAlignment="Left" > 
    <Image Source="C:\...\arrow_left.png" Height="30" Width="30" /> 
</Button> 
<Button Style="{DynamicResource NoChromeButton}" Click="RefreshBtn_Click" Margin="0,0,0,0" HorizontalAlignment="Left" > 
    <Image Source="C:\...\arrow_loop3.png" Height="30" Width="30" /> 
</Button> 

しかし、私は自分のアプリケーションを実行すると、ボタンをつまり、画像は30x30ですが、ボタンの高さは幅よりも大きい四角形ではなく長方形です。

私はお互いに隣り合ったボタンを描画しています。いくつかのボタンが並んでいて、アプリケーションウィンドウの上部に「メニューバー」があります。しかし、これらのボタンの高さが私が設定したものよりも大きな値を表示しているので、メニューバーには、「white space」というビットが表示されています。私は、例えば、設定した:このボタンで

<Button Style="{DynamicResource NoChromeButton}" Click="referThis" Margin="0,0,0,0" HorizontalAlignment="Left" HorizontalContentAlignment="Left" Height="30" Width="80"> 
    <TextBlock>Send Reference</TextBlock> 
</Button> 

を、私がそれをテキストではなく画像を表示していますので、それは高さに、私が設定した&幅の値を保持しているように思わ、これは、他のボタンが私が意図したよりも多くの垂直方向のスペースを取るためにこれらのボタンを配置したところにある<StackPanel>を引き起こしているので、その上にいくつかの「空白」があることを意味します。

画像を表示しているボタンに、設定したサイズで強制的に表示させるにはどうすればよいですか?

編集

ウィンドウのサイズが変更されたとき<StackPanel>/<TabPanel>が自動的にリサイズされているという用途向けを実行しているとき、私は手動でウィンドウのサイズを変更したときに何が起こるかに関係することだったようだ... I <StackPanel>Heightを特定の値に設定しました。これは、ボタンがすべてそのサイズに制限されていることを意味します。したがって、それらはすべて同じサイズのままです。

しかし、私はウィンドウのサイズを変更すると、<TabPanel>がサイズ変更されるので、ボタンの上下に空白ができます。これを止める方法はありますか?

答えて

0

ボタンのVerticalAlignmentを一番上に設定します。 画像ではなく、ボタン上で希望の幅/高さを設定します。 Marginプロパティでこれを行います。 Alignment on MSDNもチェックしてください。 イメージのストレッチをStretch.Fillに設定します。この

<Button VerticalAlignment="Top" HorizontalAlignment="Left" Margin="0"> 
     <Image Width="30" Height="30" /> 
</Button> 

が私のために完全に働いたので

また、あなたのスタイルで何かが、あなたを投げている可能性があります。

0

このコードは正確に何をしたいです:ボタンにイメージに合わせ

<Button Width="100" Height="100" Padding="0" BorderThickness="0"> 
    <Image Source="image.jpg" Stretch="Fill"/> 
</Button> 

注パディングとBorderThickness値。 RoyalPotatoによると、ボタンの幅と高さを変更することができ、画像サイズは動的に引き伸ばされるという。

関連する問題