У меня неприятная проблема, и я был бы очень признателен за помощь. У меня есть ListView внутри ViewBox, и я не могу заставить элементы в ListView растягиваться по горизонтали.
Вот XAML :
Вот код, стоящий за определениями объектов Skin и Inning:
using System;
using System.Windows;
using System.ComponentModel;
using System.Collections.ObjectModel;
namespace WpfApplication3
{
public class Inning
{
private ObservableCollection _skins = new ObservableCollection();
public ObservableCollection Skins
{
get { return _skins; }
set { _skins = value; }
}
}
public class Skin : INotifyPropertyChanged
{
public Skin()
{
}
public Skin( int skinNumber, Inning inning )
{
this.SkinNumber = skinNumber;
this.Inning = inning;
}
public Inning Inning { get; set; }
public int SkinNumber { get; set; }
public int SkinCount
{
get { return this.Inning.Skins.Count; }
}
public void Notify( string propertyName )
{
if ( PropertyChanged != null )
PropertyChanged( this, new PropertyChangedEventArgs( propertyName ) );
}
public event PropertyChangedEventHandler PropertyChanged;
}
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
}
}
Количество скинов, которые могут использоваться в иннинге, может меняться, а также может быть изменен пользователем, поэтому я поместил ListView в ViewBox, чтобы они автоматически меняли размер при изменении количества скинов. Полученное окно можно увидеть здесь: http://i52.tinypic.com/244wqpl.jpg
Я пробовал всевозможные комбинации HorzontalAlignment = "Stretch"
и ] HorizontalContentAlignment = "Stretch"
и попытался изменить шаблон ItemsPanel, но, хоть убей, не могу понять, как заставить ListView растягиваться по горизонтали. Это то, что я m пытается сделать невозможное без какого-либо кода для динамического изменения ширины ListView? Или мне не хватает чего-то действительно простого?
Мы будем благодарны за любую помощь, которую может предложить любой.
Спасибо,
Мэтью