2011-01-16 18 views
1

基本的にフォームを作成したいと思います。私がやった後は少し時間がかかるかもしれないので、フォームをスクロールできるようにリストボックスを使いたいと思っていました。私は、ユーザーからの入力のために、その隣にテキストボックスを持つラベルを持っていたいと思います。リストボックスにラベルとテキストボックスを並べて表示するにはどうすればよいですか?WPFリストボックス2つ並んで

また、フォームの作成方法に関する他の提案がある場合は、教えてください。

+0

ERNOあなたはリストボックスを使用しないでください指摘しているし、あなたの質問は少し漠然としているとして、あなたは新しい行を追加する方法を指定することができ、場合それは動的である必要がありますか? –

+0

フォームは決して変更されないので、行は静的でなければなりません。だから、私はビジュアルスタジオ2010のデザインビューですべてを見ることができないので、フォームを編集する簡単な方法が必要です。 – MBU

+0

さて、今のところ、既存の回答は十分にあるはずです。 2つの列とフォームに必要な多くの行があるグリッドを使用して、それをScrollViewerに入れてください。 –

答えて

5

スクロール機能を追加するためにListBoxを使用しないでください。そのためにScrollViewerを使用してください。

アイデアを説明する画像をスケッチ/描画できますか?

<Grid> 
    <ScrollViewer> 
     <Grid ScrollViewer.VerticalScrollBarVisibility="Auto" 
       ScrollViewer.HorizontalScrollBarVisibility="Disabled"> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition /> 
       <ColumnDefinition /> 
      </Grid.ColumnDefinitions> 
      <Grid> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="auto" /> 
        <ColumnDefinition /> 
       </Grid.ColumnDefinitions> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="auto" /> 
        <RowDefinition Height="*" /> 
       </Grid.RowDefinitions> 
       <Label Target="{Binding ElementName=textBlock}" 
         VerticalAlignment="Center">_Name:</Label> 
       <TextBox Grid.Column="1" 
         x:Name="textBlock" 
         VerticalAlignment="Center" 
         Text="Enter text here" /> 
      </Grid>     
      <Border Grid.Column="1"> 
       <TextBlock Text="Anything you like" /> 
      </Border> 
     </Grid> 
    </ScrollViewer> 
</Grid> 

他の多くのオプションがあります。例えば、私の例では、ScrollViewerをBorderの中に置くことができます。これにより、フォーム全体の代わりにスクロール可能なBorderのコンテンツが作成されます。キーとは、どのように見えるようにしたいのか、どのように振る舞うのかを判断することです。

これを行う最も良い方法は、Expression Blendなどのデザイナーで描画またはプロトタイプを作成することです。

+0

これは良い考えです。ありがとう!テキストボックスの横にラベルを貼る方法はありますか?この例ではなく、テキストボックスの上のラベルと私は、ラベルがその特定のテキストボックスに関連付けられるように、サイトごとにしたいと思います。 – MBU

関連する問題