ユーザーが固定長のアクション シーケンスを作成できるようにしたいと考えています。そのために、2 つのリスト ビューがあり
ます
。
シナリオは次のようになります:
- ユーザーが変更したいリスト 2 の項目を
選択 - リスト 1 で同じ項目を選択
- ユーザーがリスト 1 で他の項目 W を選択すると、リスト 2 で選択された値が含まれている必要があります。場所をWに変更
コードからそれを行う方法は知っていますが、バインディングで作成できるかどうかを理解しようとしています。
TwoWay モードで SeletedItem プロパティのみをバインドしようとしましたが、リスト 1 とリスト 2 の間に非対称性があるはずなので、明らかに正しくありません。
を参照する必要があると思いますが、アイテムと値が同じ場合、 と私の場合のSelectedValue
違いは何ですか。SelectedItem
SelectedValue
更新 問題のサンプルコードは次のとおりです。
<Window x:Class="WpfApplication.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:system="clr-namespace:System;assembly=mscorlib"
Title="MainWindow" Height="350" Width="525">
<Window.Resources>
<x:Array x:Key="Strings" Type="system:String">
<system:String>ABC</system:String>
<system:String>BCD</system:String>
<system:String>CDE</system:String>
<system:String>EFG</system:String>
</x:Array>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBox x:Name="SearchBox"/>
<ListView
Grid.Row="1"
ItemsSource="{StaticResource Strings}"
SelectedItem="{Binding Text, ElementName=SearchBox, Mode=TwoWay}"
/>
</Grid>
</Window>
リスト内の項目を選択すると、その値が に表示されますTextBox
。のテキストを変更しようとするとTextBox
、選択した項目を新しいテキストに置き換えてほしい。しかし、実際には、選択したアイテム自体を変更するのではなく、 でテキストを編集するとTextBox
、選択に影響します。