Silverlight 如何最大限度地减少datagrid中元素之间频繁使用的余量?
在silverlight中: 我有一个datagrid,在第一行的每个单元格中都有一个元素。 我想为每个元素保留5,0,0,0的边距。我已经将列的宽度设置为“自动”,并分别为每个元素指定了边距 有没有办法只在xaml中全局指定边距而不使用代码隐藏,这样每个元素都会分配给定的边距?保持列宽自动 提前感谢您的回答 正在搜索这样的解决方案:Silverlight 如何最大限度地减少datagrid中元素之间频繁使用的余量?,silverlight,xaml,user-interface,Silverlight,Xaml,User Interface,在silverlight中: 我有一个datagrid,在第一行的每个单元格中都有一个元素。 我想为每个元素保留5,0,0,0的边距。我已经将列的宽度设置为“自动”,并分别为每个元素指定了边距 有没有办法只在xaml中全局指定边距而不使用代码隐藏,这样每个元素都会分配给定的边距?保持列宽自动 提前感谢您的回答 正在搜索这样的解决方案: <Grid SetMarginForEachElement ="5,0,0,0"> <element1/> <
<Grid SetMarginForEachElement ="5,0,0,0">
<element1/>
<element2/>
</Grid>
<UserControl.Resources>
<Thickness x:Key="generalMargin" Bottom="5" Left="5" Right="5" Top="5" />
</UserControl.Resources>
首先,必须在视图中创建一个资源,如下所示:
<Grid SetMarginForEachElement ="5,0,0,0">
<element1/>
<element2/>
</Grid>
<UserControl.Resources>
<Thickness x:Key="generalMargin" Bottom="5" Left="5" Right="5" Top="5" />
</UserControl.Resources>
在此之后,您只需将其绑定:
<Grid x:Name="LayoutRoot" Background="White">
<Image Height="150" HorizontalAlignment="Left" Name="image1" Stretch="Fill" VerticalAlignment="Top" Width="200" Margin="{Binding Source={StaticResource generalMargin}}" />
</Grid>
就这样。
希望它有帮助顺便说一句,您可以用XAML定义厚度,如下所示:5、5、5、5个逗号optional@Vinicius:同样的,我必须为每个元素绑定Margin属性和generalMargin,我可以说我必须一次又一次地写Margin。我想避免那件事。寻找这样的解决方案:是的,你是对的,但如果你需要的话,至少你不需要改变每一个元素的边距。如果不使用代码隐藏,我认为您想要的方式是不可能的。