【问题标题】:data trigger wpf not working数据触发器 wpf 不起作用
【发布时间】:2013-12-27 14:34:52
【问题描述】:

我有一个枚举

public enum ConfigFileTypes
{
    NONE,
    CONFIG_FILE
}

我想使用 xamdatagrid,每次枚举值将是 Config_file 我想显示一个 浏览按钮,因为我不想显示任何东西,将来将添加更多按钮或选项。

我试图使用 xam 数据网格我能够创建按钮。将枚举的类型显示为按钮内容。

<igDP:Field Name="ConfigFileType" Label="Config File">
  <igDP:Field.Settings>
    <igDP:FieldSettings >
      <igDP:FieldSettings.CellValuePresenterStyle>
        <Style TargetType="{x:Type igDP:CellValuePresenter}">
          <Setter Property="Template">
            <Setter.Value>
              <ControlTemplate TargetType="{x:Type igDP:CellValuePresenter}">
                <Button Content="{Binding DataItem.ConfigFileType}"></Button>
              </ControlTemplate>
            </Setter.Value>
          </Setter>
        </Style>
      </igDP:FieldSettings.CellValuePresenterStyle>
     </igDP:FieldSettings>
  </igDP:Field.Settings>
</igDP:Field>

现在我正在尝试使用数据触发器来控制按钮的可见性(这是正确的方法吗?)

<igDP:Field Name="ConfigFileType" Label="Config File">
 <igDP:Field.Settings>
   <igDP:FieldSettings >
     <igDP:FieldSettings.CellValuePresenterStyle>
      <Style TargetType="{x:Type igDP:CellValuePresenter}">

        <DataTrigger Binding="{Binding Path=ConfigFileType}" Value="CONFIG_FILE">
          <Setter Property="Template">
            <Setter.Value>
             <ControlTemplate TargetType="{x:Type igDP:CellValuePresenter}">
               <Button Content="{Binding DataItem.ConfigFileType}"></Button>
             </ControlTemplate>
            </Setter.Value>
            </Setter>
         </DataTrigger>
        </Style>
       </igDP:FieldSettings.CellValuePresenterStyle>
     </igDP:FieldSettings>
    </igDP:Field.Settings>
   </igDP:Field>

我似乎无法让数据触发器工作

【问题讨论】:

    标签: c# wpf wpf-controls infragistics


    【解决方案1】:

    试试这个

    <DataTrigger Binding="{Binding Path=DataItem.ConfigFileType}" Value="CONFIG_FILE">
    

    在绑定而不是 ConfigFileType 中,它应该是 DataItem.ConfigFileType。我希望这会有所帮助。

    【讨论】:

      【解决方案2】:
      <igDP:Field Name="ConfigFileType" Label="Config File">
         <igDP:Field.Settings>
            <igDP:FieldSettings >
              <igDP:FieldSettings.CellValuePresenterStyle>
                <Style TargetType="{x:Type igDP:CellValuePresenter}">
                  <Setter Property="Template">
                    <Setter.Value>
                       <ControlTemplate TargetType="{x:Type igDP:CellValuePresenter}">
                         <Button Content="{Binding DataItem.ConfigFileType}"></Button>
                          <ControlTemplate.Triggers>
                           <DataTrigger Binding="{Binding DataItem.ConfigFileType}" Value="NONE">
                            <Setter Property="Visibility" Value="Collapsed" />
                           </DataTrigger>
                          <DataTrigger Binding="{Binding DataItem.ConfigFileType}" Value="CONFIG_FILE">
                            <Setter Property="Visibility" Value="Visible" />
                          </DataTrigger>
                        </ControlTemplate.Triggers>
                      </ControlTemplate>
                    </Setter.Value>
                  </Setter>
                 </Style>
               </igDP:FieldSettings.CellValuePresenterStyle>
             </igDP:FieldSettings>
            </igDP:Field.Settings>
          </igDP:Field>
      

      感谢道德逻辑的回答,我找到了正确的方法。

      【讨论】:

        猜你喜欢
        • 2020-08-10
        • 1970-01-01
        • 2014-04-17
        • 2013-01-05
        • 2013-06-25
        • 2011-01-26
        • 2013-12-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多