C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

WPFのプロパティ、ColumnDefinitionについて

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■85330 / inTopicNo.1)  WPFのプロパティ、ColumnDefinitionについて
  
□投稿者/ てん (4回)-(2017/10/09(Mon) 02:23:02)

分類:[C#] 

いつもお世話になっております。
環境は以下の通りです。
・開発環境:C# WPF VisualStudio2017 Windows10

掲題の件について質問をさせて頂きます。

質問:
GridのプロパティであるColumnDefinitionに、ColumnDefinitionクラスを設定すればするほど、
表示領域が減少するとしたら、どのような原因が考えられるでしょうか。
また、どのような対策を行えばよろしいでしょうか。

背景:
・複数の画面で共通するレイアウトをApp.xamlでStyleとして設定している。(そのStyleを以下Aとします)
・AでColumnDefinitionを使用している。
・Aを適用している画面で、表示領域が減少している。
具体的には以下の通り。

Aで以下のコードを実装する。

<Grid.ColumnDefinitions>
    <ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>

Aを適用している画面では、画面の幅一杯にコンテンツが表示されている。

上記の<ColumnDefinition Width="1*" />をもう一行増やす。
<Grid.ColumnDefinitions>
    <ColumnDefinition Width="1*" />
    <ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>

Aを適用している画面では、コンテンツを表示する画面の幅が半分になっている。


念のため、Style及びXamlの全コードを提示します。

Style
        <Style x:Key="Test" TargetType="Window">
            <Setter Property="Height" Value="300"></Setter>
            <Setter Property="Width" Value="400"></Setter>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="Window">
                        <Grid Margin="5" Width="400">
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="1*" />
                            </Grid.ColumnDefinitions>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto"/>
                                <RowDefinition Height="Auto" />
                                <RowDefinition Height="1*" />
                            </Grid.RowDefinitions>
                            <Grid Grid.Row="0">
                                <Grid.Background>
                                    <SolidColorBrush Color="Blue">
                                    </SolidColorBrush>
                                </Grid.Background>
                                <TextBox Text="Tessssss" Width="50"></TextBox>
                            </Grid>
                            <Grid Grid.Row="1">
                                <Grid.Background>
                                    <SolidColorBrush Color="Yellow">
                                    </SolidColorBrush>
                                </Grid.Background>
                                <TextBox Text="Tessssss2" Width="70"></TextBox>
                            </Grid>
                            <Grid Grid.Row="2">
                                <Grid.Background>
                                    <SolidColorBrush Color="Black">
                                    </SolidColorBrush>
                                </Grid.Background>
                                <ContentPresenter />
                            </Grid>
                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

Xaml
<Window
        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"
        mc:Ignorable="d"
        Title="Window1"
        Style="{Binding Source={StaticResource Test}}"
        >
    <Grid>
        
    </Grid>
</Window>



以上、何かご存じであれば、ご指導頂きたく存じます、

引用返信 編集キー/
■85331 / inTopicNo.2)  Re[1]: WPFのプロパティ、ColumnDefinitionについて
□投稿者/ てん (5回)-(2017/10/09(Mon) 03:16:41)

解決しました。
表示領域が減少しているように見えたのは錯覚でした。
<Grid Grid.Row="0">を<Grid Grid.Row="0" Grid.Column="1">に変えることで、認識誤りを自覚しました。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ