我想应用Padding="0"
到Label
左侧边栏上的每个(第一个StackPanel
),以便它与每个TextBox
(和其他控件)左对齐。
如何定义<ApplicationResources>
仅适用于特定容器内元素的隐式样式?
备择方案:
- 使用
x:Key="sidebarLabel"
. 但是,对于我实际应用程序侧栏中的许多标签,此选项似乎是多余的。 - 添加
Padding=0
到侧栏中的每个Label
。这与之前的替代方案基本相同。 - 将隐式样式移入
<StackPanel.Resources>
. 但是,我想将样式 (inApp.xaml
) 与 XAML (in ) 分开MainWindow.xaml
。
<Application.Resources>
<Style TargetType="{x:Type Label}">
<Setter Property="Padding" Value="0" />
</Style>
</Application.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0">
<GroupBox Header="New User">
<StackPanel>
<Label>First Name:</Label>
<TextBox/>
<Label>Last Name:</Label>
<TextBox/>
</StackPanel>
</GroupBox>
</StackPanel>
<GroupBox Grid.Column="1" Header="Main">
<StackPanel>
<Label>I want default padding here</Label>
</StackPanel>
</GroupBox>
</Grid>