我做了一個自定義組合框,其中我有一個TextBlock(名爲mySelectedContent)來顯示所選項目和一個文本框以在「IsEditable」模式下進行編輯。我有一個正在正確拍攝的MultiDataTrigger,但是,我無法「捕捉」所選項目的文本並將其放入TextBlock中。應該如何安裝正確的表達來代替「???」。非常感謝!WPF組合框選定的項目文本
這裏是觸發(我主要表示觸發器的一部分,因爲它在這僅僅是問題)的代碼:
<ComboBox.Resources>
<Style x:Key="myComboBox" TargetType="{x:Type ComboBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ComboBox}">
<Grid>
<ToggleButton>
...
</ToggleButton>
<TextBlock
Name="mySelectedContent"
.../>
<TextBox x:Name="myEditableTextBox"
.../>
<Popup>
...
</Popup>
</Grid>
<ControlTemplate.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
...
</MultiDataTrigger.Conditions>
<MultiDataTrigger.Setters>
<Setter TargetName="myEditableTextBox" Property="Visibility" Value="Hidden"/>
<Setter TargetName="mySelectedContent" Property="Visibility" Value="Visible"/>
<Setter TargetName="mySelectedContent" Property="Text" Value="???"/>
</MultiDataTrigger.Setters>
</MultiDataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ComboBox.Resources>
如果Value是接受綁定,則可以執行Value =「{Binding ElementName = MyEditableTextBox Path = Text}」,但事實並非如此:) 因此,請嘗試在TextBox中使用Microsoft Interaction來更新您的selectedContent I:EventTrigger> I:交互。觸發器> 或看到此帖[高級MVVM方案](http://msdn.microsoft.com/en-us/library/gg405494(v = pandp.40).aspx) – Younes 2014-09-30 20:12:55
嘗試{TemplateBinding SelectedValue}爲「Value」綁定「文本」屬性。 – 2014-10-01 05:12:40
Vibhore,我試過了,但是VS說:「表達式類型不是有效的Style值」。 – user3952846 2014-10-01 11:17:30