我刚刚开始学习WPF并且有这个项目要做。
我是在App Resources(app.xaml)上写的,不知道这是否是设置组件设计的正确方法,但我认为这是实用的。
但是当我启动该程序时,发生了thats the program running
我是否有解决方法,或者我必须在屏幕上的XAML上声明样式?
非常感谢! 如果有任何类型错误,请注意英语
<Application.Resources>
<Style TargetType="TextBox">
<Setter Property="Width" Value="210" />
<Setter Property="Height" Value="30" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="FontFamily" Value="Arial" />
<Setter Property="FontSize" Value="15" />
<Setter Property="TextWrapping" Value="NoWrap" />
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="VerticalAlignment" Value="Top" />
</Style>
<Style TargetType="PasswordBox">
<Setter Property="Width" Value="210" />
<Setter Property="Height" Value="30" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="FontFamily" Value="Arial" />
<Setter Property="FontSize" Value="15" />
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="VerticalAlignment" Value="Top" />
</Style>
<Style TargetType="TextBlock">
<Setter Property="FontFamily" Value="Arial" />
<Setter Property="FontSize" Value="15" />
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="VerticalAlignment" Value="Top" />
</Style>
<Style TargetType="Button">
<Setter Property="Width" Value="100" />
<Setter Property="Height" Value="30" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="FontFamily" Value="Arial" />
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="VerticalAlignment" Value="Top" />
</Style>
<Style TargetType="DataGrid">
<Setter Property="Width" Value="600" />
<Setter Property="Height" Value="400" />
<Setter Property="FontFamily" Value="Arial" />
<Setter Property="FontSize" Value="15" />
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="VerticalAlignment" Value="Top" />
</Style>
<Style TargetType="Border">
<Setter Property="BorderBrush" Value="Black" />
<Setter Property="BorderThickness" Value="1" />
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="VerticalAlignment" Value="Top" />
</Style>
<Style TargetType="Image">
<Setter Property="IsHitTestVisible" Value="True" />
</Style>
</Application.Resources>
答案 0 :(得分:0)
看着你的截图,Chris W用他的评论称呼它,建议你先看看你网页的整体布局。不幸的是,我无法看到你所拥有的页面本身的高度和宽度,但看起来默认值比屏幕要小得多。
所以,首先 - 让我们在查看任何样式之前解决页面的整体布局。我将使用一个网格和一些StackPanels(我正在直接输入这个答案,但希望我会接近。考虑这个免责声明大声笑)
<Grid Style="{StaticResource LoginLayout}" x:Name="LayoutRoot">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Orientation="Vertical">
<TextBlock Text="Login"/>
<TextBox x:Name="txtLogin"/>
</StackPanel>
<StackPanel Grid.Row="1" Orientation="Vertical">
<TextBlock Text="Senha"/>
<PasswordBox x:Name="txtPassw"/>
</StackPanel>
<StackPanel Grid.Row="2" Orientation="Horizontal">
<Button x:Name="btnLogin" />
<Button x:Name="btnExit" />
</StackPanel>
</Grid>
Grid容器和StackPanels处理元素的布局和定位,并将有助于启动更灵敏的布局(不完美,但现在可以直接编码)。
至于风格,你可能注意到Grid有一种风格 - 这是我的习惯,我更喜欢它,特别是当我处理更大的项目时。所以,让我们来看看风格......
<Style x:Key="LoginLayout" TargetType="{x:Type Grid}">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="Width" Value="110"/>
</Style>
<Style TargetType="{x:Type StackPanel}">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="HorizontalAlignment" Value="Left"/>
<Setter Property="VerticalContentAlignment" Value="Top"/>
</Style>
您已为其他项目定义的样式应该有效,但可能需要稍微调整一下 - 这里以按钮为例:
<Style TargetType="{x:Type Button}">
<Setter Property="Width" Value="100"/>
<Setter Property="Height" Value="30"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="FontFamily" Value="Arial"/>
<Setter Property="Margin" Value="3"/>
</Style>
我知道这不是一个完美的风格,但是这些项目的大多数定位都是由网格和堆栈面板处理的。您可以通过其他几种方式打开此页面 - 但希望这可以让您开始朝着正确的方向前进。
祝你好运!