WPF window 属性仅在运行时可见
WPF window properties only visible at runtime
我是XAML初学者,也是自学的。
所以在 App.xaml 我有以下样式:
<Application.Resources>
<Style x:Key="Colors" TargetType="{x:Type Control}">
<Setter Property="Background" Value="#FF404040"/>
<Setter Property="Foreground" Value="#FF25CBDA"/>
<Setter Property="BorderBrush" Value="#FF25CBDA"/>
</Style>
<Style x:Key="BaseWindowStyle" TargetType="Window" BasedOn="{StaticResource Colors}">
<Setter Property="Title" Value="MainWindow"/>
<Setter Property="WindowState" Value="Normal"/>
<Setter Property="Icon" Value="Icon.ico"/>
</Style>
<Style x:Key="MainWindowStyle" TargetType="{x:Type Window}" BasedOn="{StaticResource BaseWindowStyle}">
<Setter Property="ResizeMode" Value="CanResize"/>
<Setter Property="ShowInTaskbar" Value="True"/>
</Style>
</Application.Resources>
这就是我在 MainWindow.xaml 中使用样式的方式:
Style="{DynamicResource MainWindowStyle}"
我的问题是背景等属性仅在运行时可见。这可能很明显,但我真的不明白。
欢迎您,德俊!目前还不清楚你没有得到的到底是什么。你希望发生什么,或期望发生什么?你是说在 运行 应用程序之前你不知道背景颜色是什么样的,但你想在设计时看到它吗?您应该能够通过 XAML Designer 查看颜色和属性。
我拿了你的代码,注释掉了与 "icon.ico" 相关的一行,因为我没有那个文件,我从设计师那里看到你的背景颜色是深灰色。看这里:
这是我的 MainWindow.xaml.cs:
<Window x:Class="StyleTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:StyleTest"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800" Style="{DynamicResource MainWindowStyle}">
<Grid>
</Grid>
</Window>
我是XAML初学者,也是自学的。 所以在 App.xaml 我有以下样式:
<Application.Resources>
<Style x:Key="Colors" TargetType="{x:Type Control}">
<Setter Property="Background" Value="#FF404040"/>
<Setter Property="Foreground" Value="#FF25CBDA"/>
<Setter Property="BorderBrush" Value="#FF25CBDA"/>
</Style>
<Style x:Key="BaseWindowStyle" TargetType="Window" BasedOn="{StaticResource Colors}">
<Setter Property="Title" Value="MainWindow"/>
<Setter Property="WindowState" Value="Normal"/>
<Setter Property="Icon" Value="Icon.ico"/>
</Style>
<Style x:Key="MainWindowStyle" TargetType="{x:Type Window}" BasedOn="{StaticResource BaseWindowStyle}">
<Setter Property="ResizeMode" Value="CanResize"/>
<Setter Property="ShowInTaskbar" Value="True"/>
</Style>
</Application.Resources>
这就是我在 MainWindow.xaml 中使用样式的方式:
Style="{DynamicResource MainWindowStyle}"
我的问题是背景等属性仅在运行时可见。这可能很明显,但我真的不明白。
欢迎您,德俊!目前还不清楚你没有得到的到底是什么。你希望发生什么,或期望发生什么?你是说在 运行 应用程序之前你不知道背景颜色是什么样的,但你想在设计时看到它吗?您应该能够通过 XAML Designer 查看颜色和属性。
我拿了你的代码,注释掉了与 "icon.ico" 相关的一行,因为我没有那个文件,我从设计师那里看到你的背景颜色是深灰色。看这里:
这是我的 MainWindow.xaml.cs:
<Window x:Class="StyleTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:StyleTest"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800" Style="{DynamicResource MainWindowStyle}">
<Grid>
</Grid>
</Window>