2017-11-06 9 views
-1

特定のパスを表示するテキストボックス/コンボボックスがあり、テキストボックスとコンボボックスの両方の内容に応じてサイズが変更されています。非常に長い場合は、ウィンドウの画面を越え、私が指定した "ブラウズボタン"は表示されなくなります(画像を参照してください)。注:私はこの問題を両方のテキストのために持っています&コンボボックス。WPF:テキストボックス/コンボボックスの内容がウィンドウの画面を超えます

ここでは、特定の例の抜粋です:

<Label Content="_Layout Report Output Path:" Grid.Row="5" Target="{Binding ElementName=TxtLytRepPath}"/> 
    <StackPanel Grid.Row="5" Grid.Column="1" Orientation="Horizontal"> 
     <ComboBox Name="CmbLytRepPath" Grid.Column="1" Text="{Binding LayoutReportPath, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" IsEditable="True" IsReadOnly="True"/> 
     <Button Name="BtnLytRepPath" Style="{StaticResource BrowseButton}"/> 
    </StackPanel> 
</Label> 

ボタンのスタイル:そのはUI bad.Pleaseが私を示唆して作るように私はラップパネルを使用することはできません

<Style TargetType="Button" x:Key="BrowseButton"> 
    <Setter Property="Content" Value="..."/> 
    <Setter Property="VerticalAlignment" Value="Center"/> 
    <Setter Property="HorizontalAlignment" Value="Center"/> 
    <Setter Property="Margin" Value="2"/> 
    <Setter Property="MinHeight" Value="23"/> 
    <Setter Property="Width" Value="40"/> 
</Style> 

enter image description here

は、いくつかの解決策。

+1

あなたのラベルはのStackPanelを含むべきではありませんdockpanelにしようと考えて、それはただ奇妙です。そこで、それらを壊してから、コンテナ内にアイテムがどのようにレイアウトされているかについてxamlを表示してください(つまり、レポート設定のコンテナ) – LordWilmore

答えて

0

例では、ラベルを2回閉じます。

は、私はあなたが

<DockPanel Grid.Row="5" Height="??? if need"> 
     <Label DockPanel.Dock="Left" Content="_xxx"/> 
     <Button DockPanel.Dock="Right" Style=” ”/> 
     <ComboBox /> 
    </DockPanel> 

よろしく

+0

親コンテナは 'Grid'で、最後の閉じたラベルはちょうど)アーティファクトの問題です。したがって、 'DockPanel'を使う基本的な考え方は良いですが(+1)、パネルにはボタンとコンボボックスだけが含まれていなければなりません。さらに、 'DockPanel.Dock =" Right "'はデフォルトの順序でうまくいきませんので、カスタム 'TabIndex'にヒントを含めることをお勧めします。 – grek40

関連する問題