2017-03-17 149 views
0

我試圖讓我選擇的組合框值=文本框的值。我希望只有在可能的情況下才能使用xaml。Combobox選擇項綁定到GridViewColumn和GridViewColumn綁定到組合框選定項

<ListView x:Name="ExampleLV" ItemsSource="{Binding Data.Example1Collection}"> 
    <ListView.View> 
     <GridView> 
      <GridViewColumn Header="Column1" DisplayMemberBinding="{Binding Values[0].Value}"/> 
     </GridView> 
    </ListView.View> 
</ListView> 

<ComboBox Name="ExampleCB" ItemsSource="{Binding Data.Example2Collection}" 
      SelectedItem="{Binding ElementName=ExampleLV, 
      Path=SelectedItem.Values[0].Value, Mode=TwoWay, 
      UpdateSourceTrigger=PropertyChanged}"> 
    <ComboBox.ItemContainerStyle> 
     <Style TargetType="ComboBoxItem"> 
      <Setter Property="Tag" Value="{Binding ElementName=ExampleLV, Path=SelectedItem.Tag, Mode=TwoWay}"/> 
     </Style> 
    </ComboBox.ItemContainerStyle> 
</ComboBox> 

的問題不在於選擇的列表項的心不是更新,而組合框中選擇更新不更新到選定的項目相匹配的列表視圖。

是的,Values [0] .Value具有INotifyPropertyChanged接口。

+0

這是一個類似的帖子,看看你錯過了什麼在這裏http://stackoverflow.com/questions/34129379/set-visibility-of-button-depending- from-selected-tab –

+0

我的組合框已經在使用這些屬性。 –

回答

0

我還沒有理解你是否需要綁定到列表視圖(問題主題)或文本框(問題主體)。這是對他們倆的純XAML的解決方案:

xmlns:sys="clr-namespace:System;assembly=mscorlib" 


    <StackPanel> 
     <ListView x:Name="ExampleLV" SelectedValue="{Binding ElementName=Cbox, Path=SelectedValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"> 
      <ListView.ItemsSource> 
       <x:Array Type="{x:Type sys:String}"> 
        <sys:String>Test1</sys:String> 
        <sys:String>Test2</sys:String> 
        <sys:String>Test3</sys:String> 
       </x:Array> 
      </ListView.ItemsSource> 
      <ListView.View> 
       <GridView> 
        <GridViewColumn Header="Column1"/> 
       </GridView> 
      </ListView.View> 
     </ListView> 

     <TextBox Text="{Binding ElementName=Cbox, Path=SelectedValue, Mode=TwoWay, UpdateSourceTrigger=LostFocus}"/> 

     <ComboBox x:Name="Cbox"> 
      <ComboBox.ItemsSource> 
       <x:Array Type="{x:Type sys:String}"> 
        <sys:String>Test1</sys:String> 
        <sys:String>Test2</sys:String> 
        <sys:String>Test3</sys:String> 
       </x:Array> 
      </ComboBox.ItemsSource>     
     </ComboBox> 
    </StackPanel> 
+0

你的答案,不提供答案。我不需要文本框綁定,我需要Gridviewcolumn.Displaymemberbinding 即使你已經覆蓋了你的答案,你不提供一個解決方案,只是用你自己的方式重新打印我的代碼。 –

+0

正如我指出的那樣 - 這個問題還不夠清楚。提供更多關於viewmodel的信息,以及你在做什麼。 – Rekshino

相關問題