访问WPF数据模板中的系统枚举
本文关键字:系统 枚举 WPF 数据 访问 | 更新日期: 2023-09-27 18:27:48
我正试图在我自己的ServiceControllerStatus类型的类(System.ServiceProcess中的枚举)中添加一个名为"Status"的属性的数据触发器。
我将其添加到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"中不存在
是否可以使用在系统命名空间中定义的枚举,或者必须仅引用在自己的类中定义的enum?
谢谢!
您可以将enum与{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
->assembly=System.ServiceProcess
xmlns:System="clr-namespace:System.ServiceProcess;assembly=System.ServiceProcess"
附言:我英语不好。