2016-11-22 9 views
0

WPFプロジェクトを作成して下のコードを実行すると、以下のウィンドウが表示されます。私は混乱しています。なぜなら、エリプスの直径とウィンドウの幅/高さは両方とも "200"ですが、楕円はウィンドウに収まらないからです。ウィンドウとキャンバス上のWPF単位が異なります。ウィンドウサイズ単位とは何ですか?

また、私は画像を投稿していませんが、以前の実験ではウィンドウの高さと幅を96に設定しようとしましたが、高さは幅より小さかったです。アスペクト比は私のディスプレイのアスペクト比のように見えました。

私はWPFで各単位が1/96インチであることを読んだ。私はこれがキャンバスの楕円に当てはまると仮定します。次に、ウィンドウサイズはどうですか?それは何の単位ですか?

画像:

Simple WPF application window image.

コード:

<Window x:Class="clock2.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     xmlns:local="clr-namespace:clock2" 
     mc:Ignorable="d" 
     Title="MainWindow" Height="200" Width="200"> 
    <Grid> 
     <Canvas ClipToBounds="True"> 
      <Ellipse Canvas.Left="0.0" Canvas.Top="0.0" Width="200.0" Height="200.0" Fill="lightgray" /> 

     </Canvas> 

    </Grid> 
</Window> 

答えて

0

幅とウィンドウの高さは、境界、タイトルバーの寸法を含みます。

<Window ... SizeToContent="WidthAndHeight"> 
    <Grid Height="200" Width="200"> 
     <Canvas ClipToBounds="True"> 
      <Ellipse Canvas.Left="0.0" Canvas.Top="0.0" 
        Width="200.0" Height="200.0" Fill="LightGray" /> 
     </Canvas> 
    </Grid> 
</Window> 
:代わりにグリッドのサイズを設定し、ウィンドウ上 SizeToContent="WidthAndHeight"を設定

関連する問題