2017-03-17 4 views
0

Ich versuche, meine ausgewählte Combobox value = auf den Textfeld Wert. Ich möchte, dass dies nur dann in XAML geschieht, wenn es möglich ist.Combobox ausgewählt Element Bindung an GridViewColumn und GridViewColumn Bindung an Combobox ausgewählten Artikel

<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> 

Das Problem ist nicht, dass die ausgewählte Listenelement ist nicht die Aktualisierung, die eher die Combobox ausgewählte Aktualisierung aktualisiert nicht die Listenansicht ausgewähltes Element zu entsprechen.

Und ja, die Werte [0] .Value hat die INotifyPropertyChanged-Schnittstelle.

+0

Hier ist eine ähnliche Position finden, was Sie hier verpasst http://stackoverflow.com/questions/34129379/set-visibility-of-button-depending- from-selected-tab –

+0

Meine Combobox verwendet diese Attribute bereits. –

Antwort

0

Ich habe nicht verstanden, ob Sie eine Bindung an Listview (Frage Betreff) oder an Textbox (Fragekörper) benötigen. Hier ist reine XAML Lösung für beide:

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

Ihre Antwort, liefert keine Antwort. Ich brauche nicht Textboxbindung, ich brauche Gridviewcolumn.Displaymemberbinding Evenything in Ihrer Antwort, die ich bereits bedecke, Ihre nicht liefern eine Lösung, die gerade meinen Code auf Ihre eigene Weise druckt. –

+0

Wie ich in meiner Antwort gezeigt habe - die Frage ist nicht klar genug. Geben Sie weitere Informationen über Viewmodel und was Sie suchen. – Rekshino