2016-11-08 80 views
0

我有三個按鈕(1.Male,2.Femal,3.OK),我想通過點擊凸起按鈕女按鈕,修改按鈕的CommandParameters屬性(OK)。我發現問題Setting a property with an EventTrigger對我很有幫助,但TargetObjectTargetedTriggerAction<FrameworkElement>void Invoke(object parameter){...}的功能總是null,爲什麼爲什麼TargetedTriggerAction的TargetObject總是空

如何解決問題?在輸出窗口 enter image description here enter image description here

錯誤信息。

System.Windows.Data Error: 4 : Cannot find source for binding with reference 'ElementName=OKGenderButton'. BindingExpression:(no path); DataItem=null; target element is 'SetterAction' (HashCode=20203785); target property is 'TargetObject' (type 'Object')

回答

0

作爲錯誤指示,bindingExpression沒有路徑。嘗試添加路徑

{Binding Path=OKGenderButton } 
0

至於問題中提及ElementName Binding is failing

代碼Source={x:Reference DisplayMarkers}工作

演示代碼:

<Button Grid.Row="2" Grid.Column="1" 
         Content="FeMale" 
         Margin="0 0 90 0" 
         VerticalAlignment="Bottom" 
         HorizontalAlignment="Right" 
         Width="93" 
         Height="93" 
         Style="{DynamicResource FemaleButton}"> 
        <i:Interaction.Triggers> 
         <i:EventTrigger EventName="Click"> 
          <triggerActions:SetterAction PropertyName="CommandParameter" 
                 TargetObject="{x:Reference OKGenderButton}" 
                 Value="{x:Static constants:Genders.FeMale}" /> 

         </i:EventTrigger> 
        </i:Interaction.Triggers> 
       </Button>