3
我想將Padding="0"
應用於左側邊欄上的每個Label
(第一個StackPanel
),以便它與每個TextBox
(和其他控件)左對齊。容器內的隱式樣式
如何在<ApplicationResources>
中定義隱式樣式,該樣式僅適用於特定容器中的元素?
替代方案:
- 使用
x:Key="sidebarLabel"
。但是,對於我的實際應用程序邊欄中的許多標籤,此選項似乎是多餘的。 - 將
Padding=0
添加到邊欄中的每個Label
。這與之前的選擇基本相同。 - 將隱式樣式移動到
<StackPanel.Resources>
。但是,我想將樣式(在App.xaml
)與XAML分開(在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>