我正在尝试为我自己的ServiceControllerStatus类中的一个名为'Status'的属性添加数据触发器(在System.ServiceProcess中找到一个枚举)。
我将此添加到XAML:
xmlns:System="clr-namespace:System.ServiceProcess;assembly=System.ServiceProcess.dll"
我尝试使用基于“状态”值的数据触发器:
<DataTrigger Binding="{Binding Path=Status}" >
<DataTrigger.Value>
<System:ServiceControllerStatus>Running</System:ServiceControllerStatus>
</DataTrigger.Value>
<Setter TargetName="border" Property="BorderBrush" Value="Green"/>
</DataTrigger>
但是收到错误“标签'ServiceControllerStatus'在XML命名空间中不存在'clr-namespace:System.ServiceProcess; assembly = System.ServiceProcess.dll”
是否可以使用系统命名空间中定义的枚举,或者只能引用自己类中定义的枚举?
谢谢!
答案 0 :(得分:3)
您可以将枚举与{x:Static}
表单一起使用。
<DataTrigger Binding="{Binding Path=Status}"
Value="{x:Static System:ServiceControllerStatus.Running}">
<Setter TargetName="border" Property="BorderBrush" Value="Green"/>
</DataTrigger>
<强>更新强>
不要在汇编语句中使用.dll扩展名字符串。
assembly=System.ServiceProcess.dll
- &gt; assembly=System.ServiceProcess
xmlns:System="clr-namespace:System.ServiceProcess;assembly=System.ServiceProcess"
PS:我不擅长英语。