gpt4 book ai didi

wpf - 将WPF样式应用于子项

转载 作者:行者123 更新时间:2023-12-04 04:14:12 25 4
gpt4 key购买 nike

可以说我有一个网格,在我的网格中我有许多控件。我希望创建一种样式来设置放置到网格中的ANY控件的边距,而不是为每个控件设置边距。这可能吗?

我希望以下方法能起作用:

<Window.Resources>
<Style x:Key="DefaultMargins">
<Setter Property="Control.Margin" Value="3, 3, 3, 3"/>
<Setter Property="Control.FontSize" Value="50"/>
</Style>
</Window.Resources>
<Grid Style="{StaticResource DefaultMargins}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="3*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="3*"/>
<RowDefinition Height="3*"/>
</Grid.RowDefinitions>
<Button Grid.Row="0" Grid.Column="0" Name="button1">Button</Button>
</Grid>

但是Margin被忽略,它不支持属性值继承。是否有简单的替代方法可将边距应用于网格的每个“子级”?我知道可以在CSS中实现这种功能,并且我们的一些开发人员对使用这种结构很感兴趣。

谢谢
伊恩

最佳答案

您可以按类型指定样式,并将其限制在Grid的范围内:

    <Grid>
<Grid.Resources>
<Style TargetType="{x:Type Control}">
<Setter Property="Control.Margin" Value="3, 3, 3, 3"/>
<Setter Property="Control.FontSize" Value="50"/>
</Style>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="3*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="3*"/>
<RowDefinition Height="3*"/>
</Grid.RowDefinitions>
<Button Grid.Row="0" Grid.Column="0" Name="button1">Button</Button>

关于wpf - 将WPF样式应用于子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1465806/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com