0
Шаблон данных 100% ширины в пользовательском элементе управления Silverlight
У меня есть собственный элемент управления Silverlight, расширяющий Panel. Мне требуется, чтобы шаблон данных (корневой узел - это панель стека) занимал 100% доступной ширины - однако в настоящее время панель стека заполняется только до ширины текста.
Переопределение аранжировки в моем распоряжении:
protected override Size MeasureOverride(Size availableSize)
{
foreach (FrameworkElement element in Children)
{
element.Measure(new Size(availableSize.Width, availableSize.Height));
}
return base.MeasureOverride(availableSize);
}
И мой шаблон:
<DataTemplate x:Name="itemTemplate">
<StackPanel Background="Aqua" HorizontalAlignment="Stretch">
<TextBlock TextWrapping="Wrap" Text="{Binding Name}" HorizontalAlignment="Stretch"/>
</StackPanel>
</DataTemplate>
Любая помощь будет принята с благодарностью.
Ответов (2)2
0
Добавьте Width = "*" в StackPanel
К сожалению, это работает в Grid Row, определения столбцов.
Почему вы все равно переопределяете код меры? Автоматическое поведение Width заключается в использовании доступного пространства. Точно так же ширина на панели является стандартным свойством FrameworkElement Width.