2017-03-17 15 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> 

問題は、コンボボックス選択更新がリストビュー選択した項目に一致するように更新されていない、むしろ、ことを選択したリスト項目のありえない更新ではありません。

はい、値[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

関連する問題