从App.xaml以编程方式设置样式
本文关键字:方式 设置 样式 编程 App xaml | 更新日期: 2023-09-27 18:19:47
我用代码创建了一个新的日历控件
Calendar calendar = new Calendar();
我想用我的app.xaml 中定义的样式设置它的CalendarDayButtonStyle
calendar.CalendarDayButtonStyle = ...
但我不知道该怎么做。此外,我无法访问"FindResource",这是我见过其他人使用的。(我在一个ICommand中,所以我不能访问这个方法)还有其他方法吗?
您可以使用Application.Current.FindResource
。
这是非常直接的。。。
在应用程序中实例化资源字典
App.xaml
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/AssemplyOfResource;Component/Resource.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
在代码中检索您的风格
CodeBehind
object resource = Application.Current.FindResource("KeyName");
if (resource != null && resource.GetType() == typeof(Style))
calendar.Style = (Style)resource;
你会看到的大多数人只是使用Application.Current.FindResource("KeyName")并转换它,这很好,除非图形设计师决定使用ResourceDictionaries。这将导致应用程序不会崩溃。
如果你需要一些特定的卡兰达示例访问:
MSDN Magazine自定义新的WPF日历控件