Как поставить рамку на сетку в C # / WPF?
Это то, что я хотел бы, но ставит рамку вокруг всего этого вместо элемента управления сеткой, который я помещаю в свое приложение.
<Grid>
<Border BorderBrush="Black" BorderThickness="2">
<Grid Height="166" HorizontalAlignment="Left" Margin="12,12,0,0" Name="grid1" VerticalAlignment="Top" Width="479" Background="#FFF2F2F2" />
</Border>
... and so on ...
Ответы:
Если вам просто нужна внешняя граница, самый простой способ - поместить ее в элемент управления Border:
Причина, по которой вы видите, что граница полностью заполняет ваш элемент управления, заключается в том, что по умолчанию для HorizontalAlignment и VerticalAlignment установлено значение Stretch. Попробуйте следующее:
Это должно дать вам то, что вам нужно (хотя вы можете добавить поля со всех 4 сторон, а не только с 2 ...)
источник
Если ваша сетка вложена в пограничный элемент
не делает то, что вы хотите, тогда вам придется создать свой собственный шаблон управления для сетки (или границы), который ДЕЙСТВИТЕЛЬНО делает то, что вы хотите.
источник
Думаю, ваша проблема в том, что поля нужно указывать в теге границы, а не в сетке.
источник
Это более поздний ответ, который работает для меня, если он может быть кому-то полезен в будущем. Я хотел простую границу вокруг всех четырех сторон сетки, и я добился этого так ...
источник
Grid
BorderBrush
DataGrid
Этот код Оборачивает границу внутри "innerGrid"
источник
Если кого-то интересует аналогичная проблема, но он не работает с XAML, вот мое решение:
источник