我在Visual Studio 2013中有一个Windows窗体应用程序,C#语言,我想定义类似CSS文件的内容,这是为Web应用程序定义的,但是对于我的应用程序。 因此,我希望有一个应用程序,当我运行应用程序时,所有的表单和按钮将具有相同的颜色,并从公共文件获得他们的样式。 可能吗?如果是的话,我该怎么做? 提前谢谢
答案 0 :(得分:0)
<强>的WinForm:强> 对于winForm应用程序,您应该从头开始创建自己的自定义控件或从现有控件派生。可能有人已经完成了它,比如DevExpress。 如果您不打算购买任何东西,我建议使用WPF。
<强> WPF:强>
为了制作主题,您必须为ResourceDictionary
制作一个Styles列表,以用于不同的控件。
因此,创建一个新的ResourceDictionary,为特定控件实现许多样式。
例如,RepeatButton
<Style x:Key="TestStyle" d:IsControlPart="True" TargetType="{x:Type RepeatButton}">
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="IsTabStop" Value="false" />
<Setter Property="Focusable" Value="false" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type RepeatButton}">
<Grid>
<Rectangle Fill="{TemplateBinding Background}" Stroke="{TemplateBinding BorderBrush}" StrokeThickness="{TemplateBinding BorderThickness}" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
然后在您的应用程序中添加对ResourceDictionary
的引用。
<Application x:Class="ThemesSample.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="Window1.xaml">
<Application.Resources>
<ResourceDictionary Source="ExpressionDark.xaml"/>
</Application.Resources>
</Application>
您可以找到一些示例here