2016-05-18 8 views
0

私は私のC#アプリケーションのGUIを表示するために使用しています以下のXAMLマークアップ、持っている:XAML- <TabControl>の高さを固定値に設定するにはどうすればよいですか?

<Grid x:Name="templateRoot" ClipToBounds="true" SnapsToDevicePixels="true" KeyboardNavigation.TabNavigation="Local"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition x:Name="ColumnDefinition0"/> 
     <ColumnDefinition x:Name="ColumnDefinition1" Width="0"/> 
    </Grid.ColumnDefinitions> 
    <Grid.RowDefinitions> 
     <RowDefinition x:Name="RowDefinition0" Height="Auto"/> 
     <RowDefinition x:Name="RowDefinition2" Height="0.05*"/> 
     <RowDefinition x:Name="RowDefinition1" Height="*"/> 
    </Grid.RowDefinitions> 
    <TabPanel x:Name="headerPanel" Background="White" Grid.Column="0" IsItemsHost="true" Margin="2,2,2,0" Grid.Row="0" KeyboardNavigation.TabIndex="1" Panel.ZIndex="1" VerticalAlignment="Top"/> 
    <StackPanel Grid.Row="1" Orientation="Horizontal" FlowDirection="RightToLeft"> 
    </StackPanel> 
    <StackPanel Grid.Row="1" Orientation="Horizontal" FlowDirection="LeftToRight" Height="30" VerticalAlignment="Top"> 
     <Button Style="{DynamicResource NoChromeButton}" Click="backBtn_Click" Margin="0,0,0,0" HorizontalAlignment="Left" > 
      <Image Source="C:\...\arrow_left.png" Height="30" Width="40" /> 
     </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> 
     <Button Style="{DynamicResource NoChromeButton}" Click="referThis" Margin="0,0,0,0" HorizontalAlignment="Left" HorizontalContentAlignment="Left" Height="30" Width="80"> 
      <TextBlock>Refer Patient</TextBlock> 
     </Button> 
    </StackPanel> 
    <Border x:Name="contentPanel" BorderBrush="Green" BorderThickness="5" Background="{TemplateBinding Background}" Grid.Column="0" KeyboardNavigation.DirectionalNavigation="Contained" Grid.Row="2" KeyboardNavigation.TabIndex="2" KeyboardNavigation.TabNavigation="Local"> 
     <ContentPresenter x:Name="PART_SelectedContentHost" ContentSource="SelectedContent" Margin="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> 
    </Border> 
</Grid> 

上記のマークアップは、ファイルの先頭に次のような構造の中にネストされています

<Window x:Class.... > 
    <Window.Resources> 
     <Style ...> 
      ... 
      <Setter Property="Template"> 
       <Setter.value> 
        <ControlTemplate TargetType="{x:Type TabControl}"> 
         <!--(Above markup goes here) --> 

以降のファイルでは、私は次のマークアップを持っている:

    </ControlTemplate> 
       </Setter.value> 
      </Setter> 
     </Style> 
     ... 
    </Window.Resources> 
    <Grid Name = "grid"> 
     <Image x:Name="Connected" Source="...\abc.png" Height="50" Width="50" Margin="750, 0, -5, 640"></Image> 
     <!-- A few more image tags here --> 
     <TabControl ... > 
      <!-- XML for each of the tab items & their content here --> 
     </TabControl> 
    </Grid> 
</Window> 

このXAMLは、以下のGUIが表示されます。

App window before resizing

あなたがイメージから見ることができるように、ページの「主な内容は、」私は、ナビゲーション用のボタンを追加した<StackPanel>を重ね、そして私のアプリケーション(背中、リフレッシュなど)の他の機能れます。

ボタンやその他の機能がすべて正しく表示されるように、私は、コーナーのいずれかをドラッグして、ウィンドウのサイズを変更し、それを調整することができます:

Intended Layout of menu bar

をしかし、サイズを変更することも可能ですウィンドウを大きくしすぎると(つまり大きすぎる)、これらのボタンと物事の間に余りに多くの空白が表示され、また、右端のイメージが意図したものとは異なる場所に移動する:

Overextended menu bar

私のアプリケーションウィンドウの右端にある画像は、質問にコピーしたコードの3番目のビットにXAMLマークアップによって表示される画像です。

だから、私の質問は - 私は「修正」<StackPanel>の大きさ、<Grid><Style>または私はナビゲーションボタンや他の画像を表示しています<TabPanel>のヘッダように、彼らはじゃないことができる方法がありますユーザーがウィンドウの角の1つをドラッグすると、ウィンドウの残りの部分でサイズが変更されますか?

私は特定の値(例えば50)に<TabControl>Heightプロパティを設定しようとしたが、これは50に縮小する<TabControl>の全体の内容を引き起こした...すなわち、すべてのウィンドウの内容を、その後で表示されましたウィンドウ上の高さが50ピクセルしかない領域...

基本的には、私がここに示した内容は、ユーザーがアプリケーションとやり取りする方法に関係なく、同じ内容を維持したいと思います。ユーザーがアプリケーションとやり取りするときに動的に更新されます。誰でも何か提案がありますか?

+1

行1の高さ(現在は0.05 *高さ)をautoに設定してみてください。私はそれが重複の問題を解決するかもしれないと思う。 – WPMed

+0

うん、それは重複の問題を解決した - 歓声! – someone2088

+0

私は答えとしてあなたがそれを受け入れることができるように追加しました:) – WPMed

答えて

1

行1の高さを0.05 *からAuto!に設定してみてください。オーバーラップの問題を解決するはずです。

+0

ブリリアント - それはオーバーラップの問題を解決する - ありがとう!どのようにサイズ変更の問題を解決するための任意の提案? – someone2088

関連する問題