首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从App.xaml以编程方式设置样式

从App.xaml以编程方式设置样式
EN

Stack Overflow用户
提问于 2012-01-10 03:37:12
回答 2查看 6.8K关注 0票数 1

我用代码创建了一个新的Calendar控件:

代码语言:javascript
复制
  Calendar calendar = new Calendar();

我想用我的app.xaml中定义的样式来设置它的CalendarDayButtonStyle

代码语言:javascript
复制
  calendar.CalendarDayButtonStyle = ...

但我不知道该怎么做。另外,我不能访问"FindResource“,这是我见过的其他人使用的。(我在一个ICommand中,所以我不能访问这个方法)还有其他方法吗?

EN

回答 2

Stack Overflow用户

发布于 2012-01-10 03:39:15

您可以使用Application.Current.FindResource

票数 6
EN

Stack Overflow用户

发布于 2012-01-10 08:59:44

这是非常直接的。

在应用程序中实例化ResourceDictionary

App.xaml

代码语言:javascript
复制
<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/AssemplyOfResource;Component/Resource.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

在代码中检索样式

CodeBehind

代码语言:javascript
复制
  object resource = Application.Current.FindResource("KeyName");
  if (resource != null && resource.GetType() == typeof(Style))
      calendar.Style = (Style)resource;

你会看到大多数人只是使用Application.Current.FindResource("KeyName")并转换它,这是很好的,除非图形设计师决定搞乱ResourceDictionaries。这将导致应用程序不会崩溃。

如果您需要一些特定的Calandar示例,请访问:

MSDN Magazine Customizing the New WPF Calendar Controls

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8794112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档