并存,依赖,附加依赖项是关系吗

设备的防触电保护不仅靠基本绝缘,还具备像双重绝缘或加强绝缘这样的附加安全措施。这种设备不采用保护接地的措施,也不依赖于安装条件。这样的设备属于( )设备。
A.0类设备
B.I类设备
C.Ⅱ类设备
D.Ⅲ类设备
参考答案: C
责任编辑:soso
收藏分享:
举一反三:
与设备的防触电保护不仅靠基本绝缘,还具备像双重绝缘或加强绝缘这样的附加安全措施。这种设备不采用保护接地的措施,也不依赖于安装条件。这样的设备属于( )设备。类似的试题有
  1、凡本网注明“来源:建设工程教育网”的所有作品,版权均属建设工程教育网所有,未经本网授权不得转载、链接、转贴或以其他方式使用;已经本网授权的,应在授权范围内使用,且必须注明“来源:建设工程教育网”。违反上述声明者,本网将追究其法律责任。
  2、本网部分资料为网上搜集转载,均尽力标明作者和出处。对于本网刊载作品涉及版权等问题的,请作者与本网站联系,本网站核实确认后会尽快予以处理。
  本网转载之作品,并不意味着认同该作品的观点或真实性。如其他媒体、网站或个人转载使用,请与著作权人联系,并自负法律责任。
  3、本网站欢迎积极投稿。随笔 - 58&
评论 - 275&
&&&&&&&&&&&
1.依赖属性(Dependency
.NET Framework 3.0引入了一个新的属性类型叫依赖属性, WPF,WF都在使用依赖属性用来实现样式化,数据绑定等.我们更多的使用依赖属性是为了让父元素的属性值在逻辑树上慢慢的传递到其子元素中,从而可以在整个可是父元素的逻辑子元素中共享属性值.WF就是依靠依赖属性来在工作流中的各Activity间传递属性值的. 所以,依赖属性内建的传递变更通知的能力是其最大特征.
如果你想让属性在一个包含内容子控件树的整个逻辑控件树中都有效并共享值时,你仅仅只需要将这个属性声明为依赖属性即可, WPF会通过内建的架构来支持属性的共享. 而在工作流中我们经常需要用到依赖属性,它保证了在一个工作流实例中,多个组件共享了同一个值. 幸运的是在WPF中大部分空间的属性都是依赖属性,这让我们应用时非常方便,而你并不需要着后边发生了什么。
a)依赖属性的实现
依赖属性其实也是普通的.NET属性,只是通过DependencyProperty.Register方法将普通的.NET属性注册为依赖属性。在依赖属性的声明中,其实对应的普通.NET属性并不是必需的,因为其内部的GetValue和SetValue方法是公开的,依赖属性的使用者可以通过调用GetValue/SetValue而放弃对普通.NET属性的依赖。但建立在普通.NET熟悉之上更符合我们通常的做法,而且这样有利于在XAML中设置属性。
下面的代码展示了定义依赖属性的通常做法:
public class
Button:ButtonBase
&&& //依赖属性
&&& public static readonly DependencyProperty
IsDependencyP
&&& static Button()
&&&&&&& //注册依赖属性
&&&&&&& Button.IsDependencyProperty =
DependencyProperty.Register("IsDefault",
&&&&&&&&&&& typeof(bool), typeof(Button),
&&&&&&&&&&& new
FrameworkPropertyMetadata(false,
&&&&&&&&&&&
new PropertyChangedCallback(OnIsDefaultChanged)));
&&& //.NET属性(可选)
&&& public bool IsDefault
&&&&&&& get { return
(bool)GetValue(Button.IsDefaultProperty); }
&&&&&&& set {
SetValue(Button.IsDefaultProperty, value); }
&&& //属性改变时的回调
static void OnIsDefaultChanged(DependencyObject o,
DependencyPropertyChangedEventArgs
在上面的示例代码中是标准的实现依赖属性定义的方法,这里需要注意的是依赖属性始终是定义在普通.NET属性之上的用Register静态方法注册的特殊属性,即便这里的.NET属性(如IsDefault属性)不是必需的。另一个需要注意的地方是,通过声明依赖属性,我们多了一个控制属性改变时的回调方法(即便这同样可以通过声明委托和事件来定义,但这里我们什么都没做,为什么不用呢?),这样的好处是我们可以在属性改变的时候做些我们想做的事情,而我们却省去了手动声明事件的任务。其实回调函数的存在是为了让我们保证在属性包装器中(IsDefault属性)仅仅使用标准的GetValue/SetValue而不用任何其他逻辑,转而将自定义逻辑写入回调函数--这样做是为了遵循WPF的统一设计原则,让XAML 设置属性与使用过程式代码设置属性保持一致。
依赖属性的实现让我们可以在一个局部范围内保持属性值的共享,这样的好处是对于内存的节约,因为GetValue/SetValue内部使用了高效的稀疏存储系统. 前边提到过,依赖属性的一大特征是变更通知,意思就是当某些依赖属性的只改变了,WPF就会更具属性的元数据触发一系列动作.
WPF中有三种方式来实现这样的变更通知:
l属性触发器: 在属性发生改变时执行自定义动作,而不用改任何过程代码。
l数据触发器: 当普通.NET属性的值改变时调用自定义动作。
l事件触发器: 当路由事件被触发时调用自定义动作。
属性触发器(Trigger)
当某个属性有一个特定的值时,属性触发器会执行一个Setter的集合来设置相关对象的属性,而当属性失去这个值的时候,属性触发器会撤消该Setter集合.
这样的好处是大大简化了我们用声明事件的办法来处理满足一定条件时的逻辑,我们在XAML中就可以完成相应的简单逻辑(如果复杂还是需要过程式代码)。
下边的示例显示了旋转变换仅在鼠标移到按钮上方时才会发生,并会设置相应属性。
x:key="buttonStyle" TargetType="{x:Type Button}"&
&Style.Triggers&
&&& &Trigger
Property="IsMouseOver" Value="True"&
&&&&&&& &Setter
Property="RenderTransform"&
&&&&&&&&&&& &Setter.Value&
&&&&&&&&&&&&&&& &RotageTransform
Angle="10" /&
&&&&&&&&&&& &/Setter.Value&
&&&&&&& &/Setter&
&&&&&&& &Setter
Property="Foreground" Value="Black" /&
&&& &/Trigger&
&/Style.Trigger&
Property="FontSize" Value="22" /&
Property="Foreground" Value="White" /&
Property="Background" value="Purple" /&
Property="Height" Value="50" /&
Property="Width" Value="50" /&
Property="RenderTransformOrigin" Value="0.5,0.5" /&
对于属性触发器的应用我们更多的还可以通过自定义验证规则来实现对样式和Tooltip的自动设置。
数据触发器(Data
数据触发器与属性触发器几乎一样,只是数据触发器可以由任何.NET属性触发,而不仅仅是依赖属性.为了使用数据触发器,可向Triggers集合中添加DataTrigger对象然后指定属性/值对.同时可以用Binding来指定相关属性而不仅仅是属性名.
以下示例通过binding指定当自己的值为disabled的时候将自己禁用. 注意:Text属性不是依赖属性.
&StackPanel
Width="200"&
&&& &StaticPanel.Resources&
&&&&&&& &Style TargetType="{x:Type
TextBox}"&
&&&&&&&&&&& &Style.Triggers&
&&&&&&&&&&&&&&& &DataTrigger
Binding="{Binding RelativeResource=
{RelativeResource
Self}, Path=Text}"
&&&&&&&&&&&&&&&&&&&&&& &&&&&&value = "disabled"&
&&&&&&&&&&&&&&&&&& &Setter
Property="IsEnabled" Value="false" /&
&&&&&&&&&&&&&&& /DataTrigger&
&&&&&&&&&&& &/Style.Triggers&
&&&&&&&&&&& &Setter
Property="Background" Value=
RelativeResource={RelativeResource Self}, Path=Text}" /&
&&&&&&& &/Style&
&&& &/StackPanel.Resources&
&&& &TextBox Margin="3" /&
&/StackPanel&
事件触发器(Event
当一个已选择的事件产生时事件触发器会被激活.这个事件由触发器的RouteEvent属性指定,他在Action集合中包含一个或多个动作(从抽象类TriggerAction继承来的对象).
下边的示例展示了在Button的Click事件被触发时执行DoubleAnimation动作.
&Button&OK
&&& &Button.Triggers&
&&& &EventTrigger
RouteEvent="Button.Click"&
&&& &EventTrigger.Actions&
&&&&&&& &BeginStoryboard&
&&&&&&&&&&& &Storyboard
TargetProperty="width"&
&&&&&&&&&&&&&&& &DoubleAnimation
From="50" To="100"
Duration="0:0:5"
AutoReverse="True" /&
&&&&&&&&&&& &/Storyboard&
&&&&&&& &/BeginStoryboard&
&&& &/EventTrigger.Actions&
&&& &/EventTrigger&
&&& &/Button.Triggers&
c)属性值继承
2.附加属性(Attached Property)
附加属性也属于XAML为了扩展其能力的一种,它提供了让用户在父属性里设置自己没有的子属性值的能力。而在应用附加属性时,通常它也可以体现WPF中属性传递的优点:例如,当你给一个Panel中的某类元素设置了附加属性,那么在不显式声明相关属性值(重写)的情况下,此类元素共同从父元素得到这个值。
作为附加属性,之所以说是扩展了XAML的应用是因为它提供了通过父元素来设置子元素并在其可视树范围内默认共享的能力。那么我们可以通过给Panel来设置TextElement.FontSize属性来让所有在这个Panel下的拥有TextElement.FontSize相关属性的控件自动拥有这个值,而不需要我们挨个对所有此类空间设置。例如:
&UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"&
& &&&StackPanel Orientation="Horizontal"
TextElement.FontSize=”10”&
&&&&& &Image Source="Fireworks.bmp"/&
&&&&& &StackPanel Width="200"&
&&&&&&& &TextBlock Margin="5,0" VerticalAlignment="center"&Fireworks&/TextBlock&
&&&&&&& &TextBlock Margin="5"
VerticalAlignment="center" TextWrapping="Wrap"&
&&&&&&&&& Sleek, with a black sky containing
fireworks. When you need to
&&&&&&&&& celebrate PowerPoint-style, this
design is for you!
&&&&&&& &/TextBlock&
&&&&&&& &Button x:name=”btnSubmit”&Agree&/Button&
&&&&&&& &Button x:name=”btnCancel”&Disagree&/Button&
&&&&& &/StackPanel&
&&& &/StackPanel&
&/ UserControl &
在上述的例子中,由于在StackPanel中设置了TextElement.FontSize,所以在它的内部的可视控件自动有用这个属性:TextBlock,Button都会以FontSize=10来显示。
阅读(...) 评论()附加依赖项是什么_中华文本库
图 1-19 项目属性页-链接器-常规 选择链接器项中的输入选项,设置附加依赖项为 libufun.lib libugopenint.lib。这两个文件是在进行 UG 二次开发时必需的库载入...
属性管理器,点开如下图 一次性配置 opencv 网上有一种方法是直接修改 Microsoft.Cpp.Win32.user,但是配置链接器的时候 debug 版本和 release 版本的附加依赖项都...
输入,右侧附加依赖项,下拉按钮?编辑,输入如下: opencv_calib3d247d.lib ...好像没啥影响~~~这些纯粹是个人理解,可能有错,勿怪,同时希望不用造成误导,本...
在附加依赖项中添加: opencv_ts300d.lib opencv_world300d.lib IlmImfd.lib libjasperd.lib libjpegd.lib libpngd.lib libtiffd.lib libwebpd.lib opencv_...
VS2010 C++项目设置外部库的方法如下: 1、 添加编译器所需要(依赖)的 lib 文件 在“项目—》属性—》配置属性—》连接器—》输入—》附加依赖项”里填写所...
\programfiles\IBM\ILOG\CPLEX_Studio125\concert\lib\x64_windows_vs2010\stat_m ta\concert.lib 图 3 新增附加依赖项 9) 至此,配置工作基本上已经结束了,...
&添加引用-&勾选相应目录-&确定(dll 项目和该项 目在同一路径下时) 或者在 vc++目录-&库目录中添加新 lib 的路径,在链接器-&输入-&附加依赖项中添 加...
里的附加依赖项 cudart.lib、 cutil64.lib, 这些和普通的 C++程序没区别,就是别忘了多了一个 CUDA C/C++,对照自己的显卡,改 下计算能力,目标平台什么的。对...
所以你点击“生成解决方案”发现根本什么都没有生成, Debug 文件夹是空的,就会...如果还要连接其他的系统.lib 库文件,在配置属性-&连接器-&输入-&附加依赖项...
VC 工程项目配置一、VC 包含目录、附加依赖项、库目录及具体设置 VS 项目中的...一个.lib 文件和一个.dll 文件 那么上述静态库和动态库中的 lib 有什么区别...个回答天前mvn eclipse:eclipse -DdownloadSources=true或mvn eclipse:eclipse -DdownloadJavadocs=true或者,可以添加两个标志此外,=true可以使用:mvn eclipse:eclipse -DdownloadSources -DdownloadJavadocs天前可以尝试下这个:

我要回帖

更多关于 vs附加依赖项 的文章

 

随机推荐