[英]Combobox selected item binding to GridViewColumn and GridViewColumn binding to combobox selected item
我試圖將我選擇的組合框值=設置為文本框值。 我希望僅在可能的情況下將其保存在xaml中。
<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接口。
我不了解您是否需要綁定到listview(問題主題)或Textbox(問題主體)。 這是它們的純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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.