Я хотел бы динамически изменять ширину элементов в ListBox.
У меня есть этот XAML для горизонтального списка
<ListBox x:Name="listBox">
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid IsItemsHost="True" Rows="1" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
со следующими .cs (часть кода DragAndDrop)
ObservableCollection<int> _List = new ObservableCollection<int>();
public void Fill(int num)
{
for (int i = 1; i <= num; i++)
{
_List.Add(i);
}
listBox.ItemsSource = _List;
Style itemContainerStyle = new Style(typeof(ListBoxItem));
itemContainerStyle.Setters.Add(new Setter(ListBoxItem.AllowDropProperty, true));
itemContainerStyle.Setters.Add(new EventSetter(ListBoxItem.PreviewMouseLeftButtonDownEvent, new MouseButtonEventHandler(s_PreviewMouseLeftButtonDown)));
itemContainerStyle.Setters.Add(new EventSetter(ListBoxItem.DropEvent, new System.Windows.DragEventHandler(listBox_Drop)));
listBox.ItemContainerStyle = itemContainerStyle;
}
Я бы хотел установить Rows="2"
динамически, например. основанный на значении num
и измените его внутри кода .cs
, чтобы вместо этого установить статическое значение в XAML