2011-12-30 31 views
0

プロパティパネルを作成しようとしていますが、リストボックスを使用しています。私は、動的テーブルを作成する別の方法を知らないので、これは私がやったことです:TextBoxがオーバーフローすると自動的にサイズが変更されます(WPFで)

<DataTemplate x:Key="PropertyListTemplate"> 
     <Grid> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="100" /> 
       <ColumnDefinition Width="*" /> 
      </Grid.ColumnDefinitions> 
      <TextBlock Text="{Binding Name}" /> 

      <ComboBox x:Name="combo" 
         Grid.Column="1" 
         ItemsSource="{Binding ComboItems}" 
         SelectedIndex="{Binding Value, Mode=TwoWay}" 
         Visibility="Hidden" /> 

      <TextBox x:Name="text" 
        Grid.Column="1" 
        Text="{Binding Value, Mode=TwoWay}" 
        Visibility="Hidden" /> 
      <!-- ... More controls --> 

     </Grid> 
     <DataTemplate.Triggers> 
      <DataTrigger Binding="{Binding TypeString}" Value="Combobox"> 
       <Setter TargetName="combo" Property="Visibility" Value="Visible" /> 
      </DataTrigger> 
      <!-- ... More triggers --> 
     </DataTemplate.Triggers> 
    </DataTemplate> 

問題はこれです:

Overflow

すると、テキストボックスやコンボボックスオーバーフロー、それ自動的にリサイズされます。 この動作を無効にするにはどうすればよいですか?コントロールの幅は、親リストボックスの幅に応じて調整する必要があります...水平スクロールバーは不要です...

答えて

5

親リストボックスで水平スクロールバーをオフ(無効)にします。

+0

うわー、それは予想外に簡単だった...私は、もっと複雑なものが行われなければならないと思った。水平スクロールバーを無効にすると、それらを隠すだけだった...まあ、ありがとう。 – Tibi

+0

OPの質問の親リストボックスはどこにありますか? – Legends

関連する問題