WPFでウィンドウアプリケーションを作っています。
ウィンドウのサイズを以下の様にしたいのですが、なかなかうまくいきません。
・WindowおよびGrid横幅は固定(幅も同じ)
・WindowのHeightは起動時に画面のHeightいっぱいにするが、GridのHeightは固定(※)
・ただしWindowのHeightよりGridのHeightのほうが大きいので、スクロールバーを常に表示しスクロールできるようにする
・またユーザの操作としてウィンドウのリサイズはできない(最小化だけは可能)
文字にするのが難しいのですが、HTMLページを、Widthは固定かつ最小化のみできるブラウザで開くようなイメージです。
(※)
WindowsFormでいう、AutoScaleMode = System.Windows.Forms.AutoScaleMode.Fontと
ClientSize = New System.Drawing.Sizeを設定しているイメージになると思います。
一番最後についてはResizeMode="CanMinimize"でできたのですが、前3点が実現できた試しがないです。
恐らくxaml上で指定できると思っているのでできればxamlのみの設定で実現したいですが、
難しい場合はC#でsetするのも問題ないです。
ご助言いただけますと幸いです。
追記
ご指摘を受けたので、即席のコードですが追記いたします。
Width="300"、ResizeMode="CanMinimize"を指定した状態で、Height="1100"を画面のHeightに合わせ、
スクロールバーを表示させてラベルの一番した(「u」の文字)まで表示させたいと思っております。
xaml
1<Window x:Class="hoge.test" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 5 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 6 xmlns:local="clr-namespace:hoge" 7 mc:Ignorable="d" 8 Title="test" Height="1100" Width="300" ResizeMode="CanMinimize"> 9 <Grid> 10 <Label Content="a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u" HorizontalAlignment="Left" Height="1010" Margin="33,28,0,0" VerticalAlignment="Top" Width="224" FontSize="12"/> 11 <!--Contentsはこれ以外にもありますがあくまで例です--> 12 13 </Grid> 14</Window>


回答3件
あなたの回答
tips
プレビュー