样式的TargetType属性的追求

什么是下面的TargetType规范之间的区别?

1。

<Style TargetType="{x:Type Button}" ...

2。

<Style TargetType="Button" ...

看来这两个工作正常。

--------------解决方案-------------

在第一个例子中, Type标记扩展创建的实例Type由给定字符串指定,即Button

在第二个例子中,与相 ​​关联的类型转换器TargetType属性的字符串转换"Button"成所需要的Type

既得到完全相同的结果 。 值得注意的是,在Silverlight的Type标记扩展不存在,因此(2)是唯一的可能。

* 较强的文字 *对不起,戳这么老的线程,但我觉得这是值得的。 我最近遇到的情况这表明X:类型类型名,为字符串不同。 从我的经验 -

X:类型 考虑强名称或程序集的版本,但不是类型名称,作为字符串

我已经解释过有关我的情况和其他细节在这里我的博客 -

http://weblogs.asp.net/akjoshi/archive/2012/02/03/importance-of-specifying-ancestortype-with-x-type-in-relativesourcebinding.aspx

除此之外,也有在WPF如何推断类型差异。 对于x:类型 TypeExtension被使用,而对于类型名-作为字符串 FrameworkElementFactory被使用。

根据MSDN -

类型属性,支持类型名,为字符串

WPF支持,使指定类型类型的某些属性的值,而不需要一个X技术:类型标记扩展使用。 相反,您可以指定的值作为一个字符串名称类型。 这方面的例子是ControlTemplate.TargetType和Style.TargetType。 不通过任何类型的转换器或标记扩展提供了这种行为的支持。 相反,这是通过FrameworkElementFactory实施延期的行为。

http://msdn.microsoft.com/en-us/library/ms753322.aspx

分类:。净 时间:2012-01-01 人气:0
分享到:

相关文章

  • WPF / XAML:设置具有不同的TargetType风格? 2014-09-28

    我有一个资源字典,我引用其中x外部样式资源:关键. 它有一个x:TargetType的指定目标(TextBlock的). 是否有可能将此包含一个TextBlock和控制有一个控制范围内所有的TextBlock元素都应用了风格? 谢谢,罗伯特 --------------解决方案------------- 要做到这一点最简单的方法是定义一个基于外部样式资源控制中的样式,但没有指定一个x:关键,就在TargetType的. <Style TargetType="{x:Type TextBloc

  • 如何控件模板Enabled属性绑定到混浊的WPF XAML 2012-06-30

    在WPF XAML里面如何将一个控件模板扩展因此,当应用到一个按钮,该按钮被禁用它消失,以0.5的不透明度,同时禁止,一旦启用淡出回1.0的不透明度. 这种视觉效果也应该工作的时候父母被禁用. --------------解决方案------------- 你并不需要一个的ControlTemplate这一点. 你可以只用风格做到这一点. 下面的按钮样式应用到所有按钮. 它设置不透明度为0.5时的IsEnabled是真实的,它返回到1时自动触发条件已经不适用. 如果你申请的控件模板的样式,你可以

  • WPF - 如何风格菜单控制去除左边缘? 2014-04-16

    我添加了一个默认的菜单控制,我的用户控件. 我需要的样式菜单中删除包含的图标或复选框空间的左边缘. 我怎样才能做到这一点? XAML: <Menu> <MenuItem Header="MyMenu" FontSize="10"> <MenuItem Header="Options..." /> <MenuItem Header="About" /> </MenuItem&

  • 如何使WPF XAML加载图形? 2013-05-10

    所以我有一个小WPF XAML,获取我的RSS提要的标题,并把它们放在一个列表框. 然而,大约需要2秒加载. 我怎么能已经把某种AJAXy旋转图形在列表框,直到数据呢? 下面是代码: <Window x:Class="WpfApplication5.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.mic

  • 在WPF / XAML中如何更改文本使用滚动条的段落的大小? 2015-03-12

    我是新来的WPF / XAML和我只是在做此刻训练演习. 我有一个诺迪应用程序,我想改变文字的大小,根据滚动条的位置的标记. 该文本被定义为这样的代码: <FlowDocumentScrollViewer Grid.Row="1"> <FlowDocument> <Paragraph> Text goes here </Paragraph> </FlowDocument> </FlowDocumentScrollView

  • 结合使用WPF / XAML控制到数据类 2012-01-27

    我想一个数据类绑定到WPF ListView控件,但似乎无法得到它的工作. 我可以在运行时绑定,并得到它的工作使用下列内容: this.DataContext = DataSet; 但是,如果我尝试在WPF / XAML以下是不工作,看起来像: DataContext="DiscoveredItemContainer" 我已经试过各种排列,但没有我尝试的作品. 我可以只使用运行时版本,因为它的工作原理,但它是窃听我,我不能让XAML控制正确绑定. 也许这不能工作,因为数据集是动态性的,

  • 转换WPF XAML来的Silverlight XAML 2012-02-21

    我对使用XAML跨越​​WPF和Silverlight平台的问题. 背景: 我有一个Silverlight应用程序,需要通过XAML中到WPF和做一些计算来更新XAML. 当我运行的变化,WPF中,我分析了XAML并将其转换为画布对象,做这项工作完全正常. 现在的问题是WPF去掉Silverlight的命名空间,甚至删除一些元素的名称. 我用它来转换成XAML画布的代码 Canvas canvas = XamlReader.Parse(xaml) as Canvas 下面是从Silverligh

  • 的EventTrigger RoutedEvent在WPF XAML 2012-02-23

    我在WPF XAML一个问题,我很新的这所以它可能是基本的东西 我想旋转的椭圆360度 <Ellipse Name="test" Fill="Black" StrokeThickness="5" Margin="0,0,0,0" Height="66"> <Ellipse.Triggers> <EventTrigger RoutedEvent="Ellipse.Loa

  • 嵌套花括号{{}}在WPF / XAML 2012-03-18

    什么是属性值中嵌套的大括号的WPF / XAML标记的含义是什么? 如在下面的例子: <ListBox ItemsSource="{Binding Source={StaticResource pictures}}"> --------------解决方案------------- 结合了ItemsSource列表框中到的StaticResource所谓pictures . 它只是在筑巢另一个标记扩展. 阅读关于XAML标记扩展的位置:http://msdn.microso

  • 什么是赶上了PasswordBox Return键的最佳方法? (WPF / XAML) 2012-08-17

    什么是赶在PasswordBox返回键的最佳方法? (WPF / XAML) 我有一个文本框字段和PasswordBox场在我的登录表单(用户名和密码输入). 我也有一个登录按钮,它调用执行的登录验证过程的方法. 我需要回车键的反应相同的方式,在PasswordBox,使得用户可以有选择输入他们的用户名和密码,并简单地按下返回到登录. 有谁知道这是如何在WPF中做了什么? 任何帮助表示赞赏. --------------解决方案------------- 有一种更容易的机制来激活按钮的代码. W

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.253 (s). 10 q(s)