免责声明:不确定标题中的内容是否清楚,因为要使用的词语是我尚未知道的那些词语。随意纠正。
想象一下GUI由4x3输入组成的场景,其中每个输入都包含一个标签和一个文本框。目前,它是通过明确声明所有组件并且每个组件具有以下内容来完成的。
<Label x:Name="Label1"
Content="Text1"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Margin="10,210,0,0" />
<TextBox x:Name="TextBox1"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Width="120"
Height="23" Margin="10,241,0,0"
TextWrapping="Wrap" Text="TextBox" />
是否有一种推荐的方法来生成那些来自“其他东西”的东西,比如模板或其他东西,它控制着它中的所有常见属性,消除了我一次又一次地输入它们的需要(好吧,那些是自动生成但仍然......)?对齐和尺寸很繁琐......
至于边距,或许有布局功能?我用谷歌搜索了它,但是我得到的与XAML有关的点击要么是可疑的怪异,要么依赖于代码。是这样的方式还是可以直接从XAML开始?
答案 0 :(得分:0)
您指的是WPF“Style”。对于样式,您可以定义一组属性,这些属性在使用该样式的控件的所有实例之间都是相同的。
<Style x:Key="MyTextBoxStyle" TargetType="TextBox">
<Setter Property="Width" Value="120" />
<Setter Property="Height" Value="23" />
<Setter Property="TextWrapping" Value="Wrap" />
<!-- etc... -->
</Style>
<!-- This textbox will default its property values to those defined above -->
<TextBox Style="{StaticResource MyTextBoxStyle}" />
答案 1 :(得分:0)
要正确配置布局,您应该使用WPF Layout Controls。为了制作网格布局,您可以根据需要使用Grid,UniformGrid等。
为了将多个属性应用于布局控件中的所有控件,您可以在该控件的Resources
中定义Style,如前所述:
<Grid>
<Grid.Resources>
<Style TargetType="TextBox">
<Setter Property="Width" Value="120" />
<Setter Property="Height" Value="25" />
<!-- etc... -->
</Style>
</Grid.Resources>
<Grid.RowDefinitions>
<!-- Row definitions here. -->
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<!-- Column definitions here. -->
</Grid.ColumnDefinitions>
<!-- controls ... -->
<TextBox Text="{Binding YourProperty}"
Grid.Row="1"
Grid.Column="2"
/>
<!-- controls ... -->
</Grid>
此处样式将应用于所有TextBox's控件。