基于对象中枚举字段的xaml样式 - c#

我有这样的对象集合:

public enum ObjectType
{
   Type1,
   Type2
}

public class MyObject
{
   ...
   public ObjectType ObjType;
   public string Header;
   ...
}

我从示例应用程序获得的样式之一是:

    <Style TargetType="{x:Type inf:MyObject}">
        <Setter Property="Header" Value="{Binding Header}" />
    </Style>

如何创建受ObjectType枚举字段约束的单独样式?即对于ObjType设置为Type1 vs Type2的MyObject有单独的样式?

我的字段确实实现了INotifyPropertyChanged,这只是一些简单的示例代码

谢谢

参考方案

我可能会通过触发器执行此操作:

<Style TargetType="{x:Type inf:MyObject}">
    <Setter Property="Header" Value="{Binding Header}" />
    <Style.Triggers>
        <DataTrigger Binding="{Binding ObjType}" Value="Type1">
            <!-- A bunch of setters -->
        </DataTrigger>
        <DataTrigger Binding="{Binding ObjType}" Value="Type2">
            <!-- Another bunch of setters -->
        </DataTrigger>
    </Style.Triggers>
</Style>

分离可能是不可能的。

好了,您可以创建单独的样式,但是您需要使用ResourceKey手动应用它们:

<Style x:Key="Type1Style" TargetType="{x:Type inf:MyObject}"
                          BasedOn="{StaticResource {x:Type inf:MyObject}}">
    <!-- Setters for type1 -->
</Style>
<Style x:Key="Type2Style" TargetType="{x:Type inf:MyObject}"
                          BasedOn="{StaticResource {x:Type inf:MyObject}}">
    <!-- Setters for type2 -->
</Style>

Div单击与单选按钮相同吗? - php

有没有一种方法可以使div上的click事件与表单环境中的单选按钮相同?我只希望下面的div提交值,单选按钮很丑代码输出如下:<input id="radio-2011-06-08" value="2011-06-08" type="radio" name="radio_date&#…

将python scikit学习模型导出到pmml - python

我想将python scikit-learn模型导出到PMML。哪个python软件包最合适?我阅读了有关Augustus的内容,但是我无法使用scikit-learn模型找到任何示例。 python大神给出的解决方案 SkLearn2PMML是 JPMML-SkLearn命令行应用程序周围的薄包装。有关受支持的Scikit-Learn Estimator和…

如何使用PHP从动态输入字段捕获数组值? - javascript

我正在编写一个在线时间跟踪网页,允许用户将学习时间输入该系统。用户将首先输入名称,然后根据日期输入学习时间。一天中可能会有多个学习时间。以下是我第一页的编码,<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"…

SOAPFaultException部署在Tomcat上时,但在GlassFish中工作正常 - java

朋友们,我一直在尝试很多,阅读了很多论坛,但无法理解为什么出现此问题。我使用契约优先方法创建了一个Jax-WS WebService。创建WSDL和XSD,然后使用wsimport工具生成其余工件,为SEI提供实现。将WebService应用程序部署到Eclipse Helios中的GlassFish(Glassfish适配器和Eclipse中安装的插件)。…

提交表单后显示模式对话框 - php

提交下载文件后,我有一张表格。我要自动而不是自动下载文件..以显示模态对话框并显示下载链接。<form name="softwareform" id="softwareform" action="../downloadlink.php" method="POST" alig…