【问题标题】:Event Trigger for Button in XAML - No Code BehindXAML 中按钮的事件触发器 - 无代码隐藏
【发布时间】:2013-11-08 07:06:21
【问题描述】:

我试图使用一个按钮来触发事件,以告诉 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>

【问题讨论】:

  • 嗨,您可以发布更少的代码,最好只发布您遇到问题的 XAML 行,谢谢。

标签: c# wpf xaml events triggers


【解决方案1】:

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

例子:

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

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多