我已經將複選框的Checked
事件綁定到方法。我還通過一個轉換器將兩個Command參數傳遞給該方法(實現IMultiValueConverter
)。在下面的代碼中,兩個CommandParameter
綁定的類型分別爲bool
和string
。WPF MultiBinding Converter對象類型
<CheckBox Name="cbTopLeftHeader" Content="Top Left Header">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Checked">
<i:InvokeCommandAction Command="{Binding IncludeCheckedCommand}">
<i:InvokeCommandAction.CommandParameter>
<MultiBinding Converter="{StaticResource MultiBindingConverter}" ConverterParameter="IncludeChecked">
<Binding ElementName="cbTopLeftHeader" Path="IsChecked"></Binding>
<Binding Source="{StaticResource TopLeft}"></Binding>
</MultiBinding>
</i:InvokeCommandAction.CommandParameter>
</i:InvokeCommandAction>
</i:EventTrigger>
</i:Interaction.Triggers>
</CheckBox>
爲什麼,如果我更換行:
<Binding ElementName="cbTopLeftHeader" Path="IsChecked"></Binding>
有了:
<Binding RelativeSource="{RelativeSource Self}" Path="IsChecked"></Binding>
在我的轉換器從bool
型器isChecked參數變化鍵入DependencyProperty
(DependencyProperty.UnsetValue
)?
我怎樣才能達到通過Checked
屬性沒有通過名稱綁定到自己的元素?
您沒有綁定CheckBox的CommandParamter屬性(例如[this](https://stackoverflow.com/q/7617375/1136211)),因此'RelativeSource Self'不是CheckBox。 – Clemens