2010-07-08 45 views
6

很快成为专业的.NET开发人员(我希望),我开始深入研究Windows Presentation Foundation(WPF)。纵观几个视频教程,我发现GU​​I的设计是一项艰巨的任务。必须指定每种颜色,每种元素,每种情况,每种平台都显得有点过分。如何让这个过程更简单,并且在设计时更通用?是否有任何模板可供参考,或者是否有人希望在设计看起来有吸引力之前指定几百行XAML?构建自定义主题或在WPF中使用标准主题

考虑下面的代码块...

<Style TargetType="{x:Type Button}"> 
    <Setter Property="Background" Value="LightGreen" /> 
    <Setter Property="Foreground" Value="DarkGreen" /> 
</Style> 

...其中悬停并推按钮样式属性被冷落这就需要XAML的其他行做开发商想要的东西。

可能会有一个简单的XAML编辑器来提高产量吗?如果没有,只需要深入研究XAML并开始构建样式,以备后续项目使用。

回答

12

设计自己的主题很不错,但它需要大量的专业知识和时间。从我的角度来看,如果您已经拥有如此多的在线主题,那么投资设计自己的主题并不是一个好主意。您可以根据自己的需要选择适合自己的产品并对其进行修改。

我genrally指这些链接的主题 -

WPF主题 -

http://wpfthemes.codeplex.com/

http://wpf.codeplex.com/wikipage?title=WPF%20Themes&ProjectName=wpf

WPF主题选择

http://wpfthemeselector.codeplex.com/

你可以得到一些在这里 -

http://www.wpfstyles.com/Default.aspx

WPF项目有了21主题

https://marketplace.visualstudio.com/items?itemName=AliAlikhani.SahaWpfTheme2012

如果你需要更多的选择,你可以买一个位置 -

http://www.xamltemplates.net/wpf-themes/

+0

Thanx为这些真棒链接。特别是wpfstyles.com看起来很不错 - 我会在今天晚些时候尝试。 – 2010-07-09 07:21:27

+0

[链接](http://www.wpfstyles.com/Default.aspx)www.wpfstyles.com/Default.aspx不再有效。内容是否可能在其他地方托管? – 2016-01-12 16:25:17

+0

https://weblogs.asp.net/akjoshi/themes-for-wpf – akjoshi 2017-12-04 15:27:00

2

没有要求创建样式。你可以使用默认的样式。考虑一个简单的消息框样式窗口:

<Window x:Class="MyProject.Test" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="Test" Height="217" Width="298"> 
    <StackPanel Orientation="Vertical"> 
     <Label>Here is the Message.</Label> 
     <StackPanel Orientation="Horizontal"> 
      <Button>OK</Button> 
      <Button>Cancel</Button> 
     </StackPanel> 
    </StackPanel> 
</Window> 

如果你真的需要重新式控制,我会挑选做哪些。否则,是的,我认为创建一个自定义样式是一个相当大的任务。

+1

我害怕这个:)但是,在我见过的几乎所有的信息系统中,实际上对无聊的标准样式做些事情会很好。给我一个月 - 我将完成三种不同的风格用于信息系统,如Windows Dynamics AX,SAP甚至BaaN。 对我来说,使用正确的颜色编码非常重要,使应用程序更有用(和有趣)的使用。考虑到用户,我认为这非常值得关注。 Thanx为您的答案,它让我知道更好! – 2010-07-08 17:20:04

2

创建自定义样式是一项非常大的任务,但是,如果您认为这是非常必要的(这不是必需的)。您可以使用Expression Blend加快此过程。

+0

我已经看过Expression Blend之前的单词,但从未理解其完整上下文。有能力做简单的草图,如balsamiq.com是一个非常好的功能! Thanx的链接,我马上去MSDNAA(学术联盟)试试看! BR - – 2010-07-08 17:57:12

2

Reuxables有几个免费的主题,你可以试试。我们刚刚购买了其中一个非免费软件,这非常简单,您只需在app.xaml中引用一个引用,它就会转换您的应用程序。易于裁剪。

+0

Thanx的链接!它看起来非常好。 - 我认为这可能是真正购买主题的一种方式,因为您可以从相当数量的资金中获得起点。 – 2010-07-09 07:18:33