2010-12-23 57 views
0

前一個問題的初始寬度我問過,我希望能夠以移動gridsplitter擴大它包含圖像的列表框擴展,這樣,當它展開,圖像調整圖的基礎在可用的空間上。有了幫助,我能夠調整大小功能的工作,但現在的問題是,當程序最初啓動時,圖像是全尺寸而不是縮略圖大小。有沒有辦法設置擴展器的初始寬度,以便圖像最初顯示爲約175像素的縮略圖?設置的膨脹或列表框

ColumnDefinitions:

<Grid.ColumnDefinitions> 
    <ColumnDefinition MinWidth="25" Width="*" /> 
    <ColumnDefinition MinWidth="5" Width="5" /> 
    <ColumnDefinition Width="2*" /> 
    <ColumnDefinition MinWidth="5" Width="5" /> 
    <ColumnDefinition MinWidth="25" Width="*" /> 
</Grid.ColumnDefinitions> 

0:擴展
1:gridsplitter
2:文本框
3:gridsplitter
4:(與圖像文本框)擴展

XAML:

<GridSplitter 
    Name="gridSplitter2" 
    Width="10" 
    Margin="0,0,0,0" 
    Grid.Column="3" 
    IsEnabled="True" 
    HorizontalAlignment="Center"/> 
    <Expander 
     Style="{DynamicResource ExpanderStyle}" 
     Name="pictureExpander" 
     IsExpanded="True" 
     Grid.Column="4" 
     ExpandDirection="Left" 
     Collapsed="pictureExpander_Collapsed" 
     Expanded="pictureExpander_Expanded" > 
     <ListBox 
      Name="photoList" 
      ItemsSource="{Binding Source={StaticResource PhotoBin}}" 
      IsSynchronizedWithCurrentItem="True" 
      ScrollViewer.CanContentScroll="False" 
      ScrollViewer.HorizontalScrollBarVisibility="Disabled"> 
      <ListBox.ItemContainerStyle> 
       <Style TargetType="{x:Type ListBoxItem}"> 
        <Style.Resources> 
         <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Yellow" /> 
        </Style.Resources> 
        <Style.Triggers> 
         <Trigger Property="IsSelected" Value="True"> 
          <Setter Property="BorderBrush" Value="Black"/> 
          <Setter Property="BorderThickness" Value="5"/> 
         </Trigger> 
        </Style.Triggers> 
       </Style> 
      </ListBox.ItemContainerStyle> 
      <ListBox.ItemTemplate> 
       <DataTemplate> 
        <Image 
         Name="thumbnailImage" 
         Source="{Binding FileLocation}" 
         Margin="5" 
         Stretch="UniformToFill" 
         StretchDirection="Both" 
         HorizontalAlignment="Stretch" 
         /> 
       </DataTemplate> 
      </ListBox.ItemTemplate> 
     </ListBox> 
    </Expander> 

回答

1

我想你可以玩你的ColumnDefinitions。在你的第五ColumnDefinition設置一個寬度會給你一個開始寬度爲它

<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
     <ColumnDefinition/> 
     <ColumnDefinition Width="175"/> 
    </Grid.ColumnDefinitions> 
    <!-- Your other Controls.. --> 
    <GridSplitter Grid.Column="3" ... /> 
    <Expander Grid.Column="4" ... /> 
</Grid> 

更新

我無法重現您的問題。當我在第五個ColumnDefinition上設置Width =「175」時,它以這個寬度啓動。上傳我的示例應用程序在這裏:http://www.mediafire.com/?kjc9yqgmkq6dbiq

+0

由於某種原因,圖像仍然顯示爲其實際大小。 – MBU 2010-12-23 03:02:59