2015-09-01 69 views
1

我有一個桌面圖形用戶界面(VS2013,.NET 4.5.2)和幾個嵌入式網格級別。在一個小區(其可以在使用gridsplitters兩個維度被擴展)我有這樣的:顯示只填充可擴展單元中可用空間的圖像列表

<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="Auto" /> 
     <ColumnDefinition Width="*" /> 
    </Grid.ColumnDefinitions> 
    <ListView Grid.Column="0" ItemsSource="{Binding Results.Info}"/> 
    <ListView Grid.Column="1" ItemsSource="{Binding Results.Images}"/> 
</Grid> 

在MVVM-輕負載視圖模型:

public ObservableCollection<object> Images 
{ 
    get { return mImages; } 
    set { Set(() => Images, ref mImages, value); } 
} 

予該屬性加載了一個序列文本(字幕)和圖像這種方式創建:

var img = new Image 
{ 
    Source = new BitmapImage(new Uri(fullPathToPng)), 
}; 

Images.Add(caption); 
Images.Add(img); 
...repeat until all captions and images added 

上面代碼大到足以引起列表視圖顯示滾動條的圖像,雖然拖動gridsplitters最終升讓我看到整個圖像。

下面是我想要發生的事情:圖像縮小以填充可用空間,而不會導致listview顯示其滾動條,並且當​​移動分離器給這個單元格更多的空間時,圖像會增長以填充新的-可用空間。

我沒有結婚使用ListView來保存字幕/圖像序列,但我確實希望解決方案尊重MVVM。謝謝。

回答

0

原來很簡單:我只是需要禁用ListView控件的水平滾動:

<ListView Grid.Column="1" ItemsSource="{Binding Results.Images}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" /> 
相關問題