- WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part18
831 :デフォルトの名無しさん[sage]:2015/03/03(火) 13:34:58.61 ID:3DfJzsOM - Windows 8がターゲットの業務アプリを作っていてほぼ完成したんですが、やっぱWindows 7でも使うからとか言われて、
Windows 7で起動してみたら、見た目が全然違うし、コントロールが画面からはみ出したりして困ってます。 ・Windows 7で起動したときの見た目を、Windows 8で起動したときのようにできますか?(これができるのがベスト) ・上記ができない場合、Windowsサイズをコントロールがちゃんと収まるように自動調整することはできますか?
|
- WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part18
833 :デフォルトの名無しさん[sage]:2015/03/03(火) 14:09:05.51 ID:3DfJzsOM - >>832
> WPFならできるよ WPFスレなので省略したのですが、もちろん、WPFあぷりです。 どうすればできますか? 何か検索できるキーワードがあれば教えてください。 wpf windows 8 windows 7で検索してみたんですが、めぼしいものが見つかりませんでした。
|
- WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part18
835 :デフォルトの名無しさん[sage]:2015/03/03(火) 14:49:15.02 ID:3DfJzsOM - >>834
ひょっとすると、私のXAMLの書き方が根本的に間違ってる可能性があります。 以下の書き方であってますか?(属性は抜粋) <Window Height="400"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="340*"/> <RowDefinition Height="60"/> </Grid.RowDefinitions> <StackPanel x:Name="panel1" Grid.Row="0"> <!-- いくつかのコントロール --> </StackPanel> <StackPanel x:Name="panel2" Grid.Row="1"> <!-- いくつかのコントロール --> </StackPanel> </Grid> </Window> 画面をリサイズしたときに、panel1の部分だけが高くなるような設定です。 Windows 8でpanel1の内容がちょうど表示される高さが340で、Windows全体の高さを400にしています。 これをWindows 7で見ると、コントロールの種類が替わり(Aeroと言うんでしょうか)、コントロールの大きさが微妙に 大きくなり、panel1の下部が切れたりします。 また、Panel2にもいろいろ詰め込んでいる場合、panel2の下部も切れたりします。
|
- WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part18
836 :デフォルトの名無しさん[sage]:2015/03/03(火) 14:52:46.95 ID:3DfJzsOM - ひょっとすると、Windowの属性がいけないのでしょうか。
デフォルトのまま使っています。 <Window x:Class="aaa" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="bbb" Height="400" Width="600">
|
- WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part18
839 :デフォルトの名無しさん[sage]:2015/03/03(火) 16:38:32.39 ID:3DfJzsOM - >>837,838
autoはWPFを始めた頃にいろいろ試したのですが、うまく画面サイズを決められなくて、直値を使うようになりました・・・。 例えば、以下のようなコントロールがあるとき、Panel1はこのままでちょうどButtonが5個はいる高さに設定されます。 ところが、WindowのHeightは700px超、panel2もそれにあわせて高くなります。 ・panel2の高さをButtonが1個入るだけの高さに ・Windowの高さも、panel1とpanel2が入るだけの高さに するにはどうすれば良いでしょうか? <Window Height="auto"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="auto"/> <RowDefinition Height="auto"/> </Grid.RowDefinitions> <StackPanel x:Name="panel1" Grid.Row="0"> <Button Height="32"></Button> <Button Height="32"></Button> <Button Height="32"></Button> <Button Height="32"></Button> <Button Height="32"></Button> </StackPanel> <StackPanel x:Name="panel2" Margin="0,10,0,0" Grid.Row="1"> <Button Height="32"></Button> </StackPanel> </Grid> </Window> なお、2個目のRowDefinitionに「MinHeight="42" MaxHeight="42"」を加えたり、panel2にHeightを設定しても駄目でした。
|
- WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part18
841 :デフォルトの名無しさん[sage]:2015/03/03(火) 16:48:51.70 ID:3DfJzsOM - >>840
!!! <Window Height="auto" SizeToContent="Height"> で全て解決しました!!! ありがとうございました。
|