XAML中按钮的事件触发器 - 没有代码

时间:2013-10-29 08:17:39

标签: c# wpf xaml events triggers

我尝试使用按钮创建事件触发器,以便每次都自动调整ListView的大小。

我已经使用了不同的方法,但是没有使用它们,事件是在ListView中定义的代码中,我试图通过DataBinding从Button触发ListView的动作(IsPressed)。

当我尝试执行代码时,我收到以下错误  XML命名空间“http://schemas.microsoft.com/winfx/2006/xaml/presentation”中不存在标记“绑定”。

我以错误的方式进行DataBinding?这个代码会以这种方式工作吗? 提前致谢!

  <ListView.Style>
      <Style>
          <Style.Triggers>
              <Trigger  Binding = "{Binding ElementName=Button1,Path=IsPressed}"  Value="True">               
                  <Setter   Property="GridViewColumn.Width" Value="Auto"/>                          
              </Trigger>
          </Style.Triggers>    
      </Style>
  </ListView.Style>

2 个答案:

答案 0 :(得分:2)

要将Trigger绑定到元素范围之外的属性,请使用DataTrigger

示例:

<DataTrigger Binding="{Binding ElementName=Button1, Path=IsPressed}" Value="True">
   <Setter Property="GridViewColumn.Width" Value="Auto"/>                          
</DataTrigger>

答案 1 :(得分:0)

常规触发器(属性触发器)仅响应您现在尝试使用的依赖项属性:

<Style.Triggers>
  <Trigger  .....

使用DataTrigger,它可以绑定到另一个控件

<Style.Triggers>
  <DataTrigger Binding="{Binding