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。謝謝。