【问题标题】:Build Custom Theme or Use Standard Theme in WPF在 WPF 中构建自定义主题或使用标准主题
【发布时间】:2010-07-08 16:55:59
【问题描述】:

很快成为一名专业的 .NET 开发人员(我希望)我开始深入研究 Windows Presentation Foundation (WPF)。查看几个视频教程,我发现 GUI 设计是一项艰巨的任务。必须为每个平台指定每种颜色、每种元素、每种情况、似乎有点太多了。在设计方面,您如何才能使这个过程更简单、更通用?是否有任何模板可供开始,或者在设计看起来吸引人之前需要指定几百行 XAML?

考虑下面的代码块...

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

...悬停和按钮样式的属性被省略,需要额外的 XAML 行来执行开发人员想要的操作。

是否有一个简单的 XAML 编辑器来提高生产力?如果没有,它只是深入研究 XAML 并开始构建样式,以便为以后的项目保留。

【问题讨论】:

    标签: c# wpf desktop styles themes


    【解决方案1】:

    设计自己的主题很棒,但需要大量的专业知识和时间。从我的角度来看,投资设计自己的主题并不是一个好主意,前提是你已经有这么多在线可用的主题。您可以选择一个适合您的并根据您的需要进行修改。

    我一般参考这些链接的主题 -

    WPF 主题 -

    http://wpfthemes.codeplex.com/

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

    WPF 主题选择器

    http://wpfthemeselector.codeplex.com/

    21 个主题的 Wpf 项目

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

    如果您需要更多选择,可以在这里购买 -

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

    【讨论】:

    • 感谢这些很棒的链接。特别是 wpfstyles.com 看起来非常好 - 我今天晚些时候会试试看。
    • link www.wpfstyles.com/Default.aspx 不再有效。内容现在可能托管在其他地方吗?
    • 不幸的是 wpfstyles.com 不再托管 :( 我希望那里的主题在某个地方得到了备份!
    【解决方案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>
    

    如果您真的需要重新设计控件的样式,我会挑选并选择要执行的操作。否则,是的,我认为创建自定义样式是一项艰巨的任务。

    【讨论】:

    • 我很害怕 :) - 然而,对我见过的几乎所有信息系统中的无聊标准样式做一些实际的事情会很好。给我一个月 - 我将完成三种不同的样式,用于 Windows Dynamics AX、SAP 甚至 BaaN 等信息系统。对我来说,使用正确的颜色编码很重要,使应用程序更有用(和有趣)使用。考虑到用户,我认为这是非常值得关注的。谢谢你的回答,让我更了解了!
    【解决方案3】:

    创建自定义样式是一项非常艰巨的任务,但是,如果您认为这是必要的(这不是必需的)。您可以使用Expression Blend 加快处理速度。

    【讨论】:

    • 我以前在 Expression Blend 上看到过这些词,但从未理解其完整的上下文。能够制作像 balsamiq.com 这样的简单草图是一个非常好的功能!谢谢链接,我马上去MSDNAA(学术联盟)试试看! BR -
    【解决方案4】:

    Reuxables 有几个免费主题可供您试用。我们刚刚购买了他们的一个非免费的,这非常简单,您只需在 app.xaml 中添加一个引用,它就会改变您的应用程序。也很容易剪裁。

    【讨论】:

    • 感谢您的链接!它看起来非常漂亮。 - 我认为实际购买主题可能是一个想法,因为您可以获得相当数量的资金。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多