バインドに問題がありListView
ますObservableCollection<Bitmap>
...
それは私のXAML
です:
<ListView ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.VerticalScrollBarVisibility="Disabled"
ItemsSource="{Binding Path=FrameImages}">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel
Width="Auto"
ItemWidth="{Binding (ListView.View).ItemWidth, RelativeSource={RelativeSource AncestorType=ListView}}"
ItemHeight="{Binding (ListView.View).ItemHeight, RelativeSource={RelativeSource AncestorType=ListView}}" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate>
<Border Width="100" Height="75" BorderThickness="1" BorderBrush="DarkGray" VerticalAlignment="Center" Margin="7,5,7,5">
<Image Margin="5,5,5,5" Width="100" Height="75" Source="{Binding}" Stretch="Fill"></Image>
</Border>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
背後にあるコード:
public ObservableCollection<Bitmap> FrameImages { get; set; }
public MainWindow()
{
InitializeComponent();
this.DataContext = this;
FrameImages = new ObservableCollection<Bitmap>();
Bitmap img = new Bitmap(@"E:\test\3047817.bmp");
FrameImages.Add(img);
}
要素を追加すると、に表示されるように見えますがListView
、透明です(空のフレームのみ):/ビットマップをファイルに保存し直そうとしましたが、問題はありませんでした(元の要素と同じ)。なぜ機能しないのかわかりません:(
[編集]
ところで。に置き換えるObservableCollection<Bitmap>
と、コードは機能しObservableCollection<BitmapSource>
ます。しかし、これがプログラムのパフォーマンスに影響を与える追加の変換です...それが私が必要とする理由ですBitmap
。